# REQUIRES GMAKE!!!! # # wgrib2 uses components of varying copyrights and licences. See wgrib2/LICENSE-wgrib2 # # makefile for grib2/lib/wgrib2api.lib # SHELL=/bin/sh # SHELL=/bin/ksh .SUFFIXES: .x # list of all libraries libs:=$(wildcard *.a) # remove libwgrib2.a libs:=$(libs:libwgrib2.a=) # remove libpng.a - duplicated libpng12 libs:=$(libs:libpng.a=) # .a -> .x libs:=$(libs:.a=.x) libsdir:=$(libs:.x=) all: ${libs} touch libpng.a ; rm libpng.* $(AR) cr libwgrib2.a */*.o ifeq ($(MAKE_SHARED_LIB),gnu_linux) ${CC} -shared ${CPPFLAGS} -o libwgrib2.so */*.o ${LDFLAGS} else ifeq ($(MAKE_SHARED_LIB),clang_linux) ${CC} -shared ${CPPFLAGS} -o libwgrib2.so */*.o ${LDFLAGS} else ifeq ($(MAKE_SHARED_LIB),nvidia_linux) ${CC} -shared ${CPPFLAGS} -o libwgrib2.so */*.o ${LDFLAGS} else ifeq ($(MAKE_SHARED_LIB),gnu_mac) ${CC} -dynamiclib ${CPPFLAGS} -o libwgrib2.dylib */*.o ${LDFLAGS} else ifeq ($(MAKE_SHARED_LIB),cygwin_win) ${CC} -shared ${CPPFLAGS} -o libwgrib2.so */*.o ${LDFLAGS} endif rm */*.o *.x rm -r ${libsdir} clean: touch junk.x junk.so junk.dynlib junk.mod junk.la junk.a rm *.x *.so *.dynlib *.mod *.la *.a mkdir -p pkgconfig && rm -r pkgconfig touch libjunk ; rm -r lib* .a.x: $(*).a mkdir -p $(*) && touch $(*)/junk && rm -r $(*)/* cd $(*) && $(AR) x ../$(*).a touch $*.x