SHELL=  /usr/bin/ksh
ISIZE = 4
RSIZE = 8
FCOMP=  ifort -nofree
CCOMP=  icc
INC = /gpfs/hps/nco/ops/nwprod/lib/g2/v2.5.0/intel/include/g2_v2.5.0_d
INCNCDF = /gpfs/hps/usrx/local/prod/NetCDF/4.2/intel/haswell/include 
INCPNCDF = /gpfs/hps/usrx/local/prod/PNetCDF/1.5.0/intel/haswell/include
INCHDF = /gpfs/hps/usrx/local/prod/HDF5/1.8.9/serial/intel/haswell/include
LIBS=   -L/gpfs/hps/nco/ops/nwprod/lib/w3emc/v2.2.0/intel                   \
             -lw3emc_v2.2.0_d                                               \
        -L/gpfs/hps/nco/ops/nwprod/lib/w3nco/v2.0.6/intel                   \
             -lw3nco_v2.0.6_d                                               \
        -L/gpfs/hps/nco/ops/nwprod/lib/g2/v2.5.0/intel                      \
             -lg2_v2.5.0_d                                                  \
        -L/gpfs/hps/nco/ops/nwprod/lib/bacio/v2.0.1/intel                   \
             -lbacio_v2.0.1_4                                               \
        -L/gpfs/hps/usrx/local/prod/NetCDF/3.6.3/intel/haswell/lib          \
             -lnetcdf -lnetcdf_c++                                          \
        -L/gpfs/hps/usrx/local/prod/PNetCDF/1.5.0/intel/haswell/lib         \
             -lpnetcdf                                                      \
        -L/gpfs/hps/usrx/local/prod/HDF5/1.8.9/serial/intel/haswell/lib     \
             -lhdf5_hl -lhdf5hl_fortran -lhdf5 -lhdf5_fortran               \
        -L/gpfs/hps/emc/hwrf/noscrub/soft/libpng-1.6.18/lib                 \
             -lpng                                                          \
        -L/usr/lib64                                                        \
             -lz                                                            \
        -L/usrx/local/prod/jasper/1.900.1/gnu/haswell/lib                   \
             -ljasper
LDFLAGS= 

#FFLAGS= -O2 -check bounds -convert big_endian               \
#        -I $(INC) -I $(INCNCDF) -I $(INCPNCDF) -I $(INCHDF) \
#        -integer-size 32 -real-size 32

# FFLAGS= -O2 -check bounds -convert big_endian               \

#FFLAGS= -O0 -g -fp-stack-check -gen-interfaces -warn interfaces \
#        -check all -debug all -traceback -heap-arrays 10 -msse2 -align \
#        -I $(INC) -I $(INCNCDF) -I $(INCPNCDF) -I $(INCHDF) \
#        -integer-size 32 -real-size 64

FFLAGS= -O2 -fp-stack-check \
        -check bounds -heap-arrays 10 -msse2 -align \
        -I $(INC) -I $(INCNCDF) -I $(INCPNCDF) -I $(INCHDF) \
        -integer-size 32 -real-size 64

# CFLAGS= -O0 -g

CFLAGS= -O2

gettrk:      gettrk_main.f gettrk_modules.o module_waitfor.o cwaitfor.o
	@echo " "
	@echo "  Compiling the main tracking program and subroutines....."
	$(FCOMP) $(FFLAGS) $(LDFLAGS) gettrk_modules.o module_waitfor.o cwaitfor.o gettrk_main.f $(LIBS) -o gettrk
	@echo " "

cwaitfor.o: cwaitfor.c
	@echo " "
	@echo "  Compiling the waitfor C routine...."
	$(CCOMP) $(CFLAGS) -c cwaitfor.c -o cwaitfor.o

module_waitfor.o: module_waitfor.f
	@echo " "
	@echo "  Compiling the waitfor fortran module...."
	$(FCOMP) $(FFLAGS) -c module_waitfor.f -o module_waitfor.o

gettrk_modules.o:    gettrk_modules.f
	@echo " "
	@echo "  Compiling the regular tracker fortran modules....."
	$(FCOMP) $(FFLAGS) -c gettrk_modules.f -o gettrk_modules.o
	@echo " "

clean:
	-rm -f  *.o  *.mod *_genmod.f90
