 SHELL=/bin/sh

F77LIBS_IRIX64	= $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a -ldl
F77LIBS_IRIX	= $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a /usr/lib/libmpc.a  -ldl
F77LIBS_SUN	= $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a -lnsl -lsocket -ldl
F77LIBS_HP	= $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a -lm -ldl
F77LIBS_HP11	= $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a /usr/lib/libnsl.a -lm -ldl
F77LIBS		= $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a  -ldl
F77LIBS_linux	= $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a -ldl
F77LIBS_MAC     = $(PGSLIB)/libPGSTK.a $(HDFLIB)/libmfhdf.a $(HDFLIB)/libdf.a $(JPEGLIB)/libjpeg.a $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a $(ZLIBLIB)/libz.a $(SZIPLIB)/libsz.a -ldl
IFLAG		= -I$(PGSINC) -I$(JPEGINC) -I$(ZLIBINC) -I$(HDFINC) -I$(HDF5INC) -I$(SZIPINC) -I$(PGSINC)/CUC
LIBSH		= -L$(PGSLIB) -L$(JPEGLIB) -L$(ZLIBLIB) -L$(HDFLIB) -L$(SZIPLIB) -L$(HDF5LIB) 
LIBSM_SUN	= -lPGSTK -lmfhdf -ldf -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lz -lsz -lnsl -lm -lsocket -ldl
LIBSM_hp11	= -lPGSTK -lmfhdf -ldf -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lz -lsz -lnsl -lm -ldl
LIBSM_linux	= -lPGSTK -lmfhdf -ldf -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lz -lsz -lm -ldl
LIBSM_MAC       = -lPGSTK -lmfhdf -ldf -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lz -lsz -lm -ldl
LIBSM		= -lPGSTK -lmfhdf -ldf -ljpeg $(HDF5LIB)/libhdf5_hl.a $(HDF5LIB)/libhdf5.a -lz -lsz -lm -ldl

# FORTRAN include files needed to compile tools

FINCFILES       = \
        PGS_PC.f \
	PGS_tk.f\
	PGS_MET.f \
	PGS_SMF.f

HDFINCFILES =  \
	hdf.inc

# compile C to executable

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


# compile FORTRAN to executable

.f:
	@echo "Copying FORTRAN include files to local directory..."
	@for file in $(FINCFILES);         \
	do                                 \
		echo $$file ;              \
		if [ -f $$file ] ; then    \
			chmod a+w $$file ; \
		fi;                        \
		cp $(PGSINC)/$$file . ;    \
		chmod a+w $$file ;         \
	done
	@for file in $(HDFINCFILES);         \
	do                                 \
		echo $$file ;              \
		if [ -f $$file ] ; then    \
			chmod a+w $$file ; \
		fi;                        \
		cp $(HDFINC)/$$file . ;    \
		chmod a+w $$file ;         \
	done
	@echo "USING LIBRARY IN $(PGSLIB) TO COMPILE"
	\rm -f $(PGSTK_TST_BIN)/test_MET/$@
	@if [ $(OSTYPE) = "IRIX" ] ; then \
		$(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS_IRIX) -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
	elif [ $(OSTYPE) = "IRIX64" ] ; then \
		$(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS_IRIX64) -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
	elif [ $(BRAND) = "sun5" -o $(BRAND) = "sun4" -o $(BRAND) = "sun5.8" -o $(BRAND) = "sun5.9" -o $(BRAND) = "sun5.10" ] ; then \
		$(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS_SUN) -o $(PGSTK_TST_BIN)/test_MET/$@ -lsocket -ldl; \
	elif [ $(BRAND) = "hp" ] ; then \
		if [ `/bin/uname -r | cut -d. -f2` = "11" ]; then \
			$(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS_HP11) -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
		else \
			$(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS_HP) -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
		fi; \
	elif [ $(BRAND) = "linux" ] ; then \
		$(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS_linux) $(LFLAG) -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
        elif [ $(BRAND) = "macintosh" ] ; then \
                $(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS_MAC) $(LFLAG) -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
        elif [ $(BRAND) = "winnt98" ] ; then \
                $(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS) -lrpclib -fno-second-underscore -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
	else \
                $(F77) $(F77_CFH) $< $(PGSTK_TST_SRC)/Common/Create_filename_f77.f $(F77_C_LIB) $(F77LIBS) -o $(PGSTK_TST_BIN)/test_MET/$@ ; \
	fi ;
	\rm -f $@.o
	\rm -f Create_filename_f77.o
	\rm -f $(FINCFILES) $(HDFINCFILES)
