
#
# To use this makefile you must also type the sample C code name. 
# For example for he5_gd_setup.c "make -f makefile_me he5_gd_setup"
#

SHELL=/bin/sh

F77LIBS_IRIX64	= $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a
F77LIBS_IRIX	= $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a /usr/lib/libmpc.a 
F77LIBS_SUN	= $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a /usr/lib/libnsl.a
F77LIBS_HP	= $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a /lib/libm.a
F77LIBS_HP11	= $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a /usr/lib/libnsl.a /lib/libm.a
F77LIBS		= $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a 
F77LIBS_linux	= $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a
F77LIBS_MAC     = $(HDFEOS5_LIB)/libhe5_hdfeos.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a

IFLAG		= -I. -I$(JPEGINC) -I$(ZLIBINC) -I$(HDF5INC) -I$(HDFEOS5_INC) -I$(SZIPINC)
LIBSH		= -L$(HDFEOS5_LIB) -L$(JPEGLIB) -L$(ZLIBLIB) -L$(SZIPLIB) -L$(HDF5LIB) 
LIBSM_SUN	= $(HDFEOS5_LIB)/libhe5_hdfeos.a -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lGctp -lz $(SZIPLIB)/libsz.a  -lnsl -lm
LIBSM_hp11	= $(HDFEOS5_LIB)/libhe5_hdfeos.a -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lGctp -lz $(SZIPLIB)/libsz.a  -lnsl -lm
LIBSM_linux	= $(HDFEOS5_LIB)/libhe5_hdfeos.a -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lGctp -lz $(SZIPLIB)/libsz.a  -lm -ldl
LIBSM_MAC       = $(HDFEOS5_LIB)/libhe5_hdfeos.a -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lGctp -lz $(SZIPLIB)/libsz.a  -lm -ldl
LIBSM		= $(HDFEOS5_LIB)/libhe5_hdfeos.a -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lGctp -lz $(SZIPLIB)/libsz.a  -lm -ldl

HDFEOS5_SAMPLE_BIN   = /ecs//hdfeos5/samples
HDFEOS5_SAMPLE_SRC   = /ecs/hdfeos5/samples

# compile C to executable

.c:
	@echo "USING LIBRARY IN $(HDFEOS5_LIB) TO COMPILE for $(BRAND)"
	\rm -f $(HDFEOS5_SAMPLE_BIN)/$@
	@if [ $(BRAND) = "sun5" -o $(BRAND) = "sun4" -o $(BRAND) = "sun5.8" -o $(BRAND) = "sun5.9"  -o $(BRAND) = "sun5.10"   -o $(BRAND) = "sun5.11" ] ; then \
		$(CC) $(CFHFLAGS) -o $(HDFEOS5_SAMPLE_BIN)/$@.o $(IFLAG) -c $(HDFEOS5_SAMPLE_BIN)/$@.c; \
		$(CC) $(CFHFLAGS) -o $(HDFEOS5_SAMPLE_BIN)/$@ $(HDFEOS5_SAMPLE_BIN)/$@.o $(IFLAG) -D$(HDFSYS) $(LIBSH) $(LIBSM_SUN) -lsocket ; \
	elif [ $(BRAND) = "dec" ] ; then \
		$(CC) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $< $(F77LIBS) -lm -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
	elif [ $(BRAND) = "hp" ] ; then \
		if [ `/bin/uname -r | cut -d. -f2` = "11" ]; then \
			$(CC) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $< $(F77LIBS_HP11) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
		else \
			$(CC) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
		fi; \
	elif [ $(BRAND) = "linux" ] || [ $(BRAND) = "linux32" ] || [ $(BRAND) = "linux64" ] ; then \
		$(CC) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM_linux) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
        elif [ $(BRAND) = "macintosh" ] ; then \
                $(CC) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM_MAC) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
	else \
		$(CC) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
	fi ;
#	\rm -f $@.o

.f:
	@echo "USING LIBRARY IN $(HDFEOS5_LIB) TO COMPILE for $(BRAND)"
	\rm -f $(HDFEOS5_SAMPLE_BIN)/$@
	@if [ $(BRAND) = "sun5" -o $(BRAND) = "sun4" -o $(BRAND) = "sun5.8" -o $(BRAND) = "sun5.9"  -o $(BRAND) = "sun5.10"  -o $(BRAND) = "sun5.11" ] ; then \
		$(F77) $(CFHFLAGS) -o $(HDFEOS5_SAMPLE_BIN)/$@.o $(IFLAG) -c $(HDFEOS5_SAMPLE_BIN)/$@.f; \
		$(F77)  -o $(HDFEOS5_SAMPLE_BIN)/$@ $(HDFEOS5_SAMPLE_BIN)/$@.o $(IFLAG) -D$(HDFSYS) $(LIBSH) $(LIBSM_SUN) -lsocket ; \
	elif [ $(BRAND) = "dec" ] ; then \
		$(F77) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $< $(F77LIBS) -lm -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
	elif [ $(BRAND) = "hp" ] ; then \
		if [ `/bin/uname -r | cut -d. -f2` = "11" ]; then \
			$(F77) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $< $(F77LIBS_HP11) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
		else \
			$(F77) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
		fi; \
	elif [ $(BRAND) = "linux" ] || [ $(BRAND) = "linux32" ] || [ $(BRAND) = "linux64" ] ; then \
		$(F77) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM_linux) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
        elif [ $(BRAND) = "macintosh" ] ; then \
                $(F77) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM_MAC) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
	else \
		$(F77) $(CFHFLAGS) $(IFLAG) -D$(HDFSYS) $(LIBSH) $< $(LIBSM) -o $(HDFEOS5_SAMPLE_BIN)/$@ ; \
	fi ;
#	\rm -f $@.o

