SHELL=/bin/sh

  MODEL = LTNG_Emis_Diag

# Compiler Definitions
FC = ifort
CC = cc

# Preprocessor
FPP  = $FC

LINKER     = $(FC)

  lib_path   = /home/dwong03/lib/x86_64/ifc-18.0

  NETCDF_PATH = /usr/local/apps/netcdf-4.9.2/intel-21.4

  INCLUDES = -I ${NETCDF_PATH}/include \
             -I /home/dwong03/lib/x86_64/intel/ioapi_3.2/Linux2_x86_64ifort \
             -I /home/dwong03/lib/x86_64/intel/ioapi_3.2/ioapi/fixed_src \
             -I.

# Compiler Flags
# intel
 ADD_FLAGS  = -traceback # -C -no-ftz
 F_FLAGS    = $(ADD_FLAGS) -O3 -free -I.
 FR_FLAGS   = $(ADD_FLAGS) -O3 -free -I.
# gfortran
#F_FLAGS    = -g -fbounds-check -frange-check $(myFFLAGS) -I.
#FR_FLAGS   = -g -fbounds-check -frange-check $(myFRFLAGS) -I.
 C_FLAGS    = -O3 -DFLDMN -D__USE_LARGEFILE64
 LINK_FLAGS = 
 ARFLAGS = ru

CPP_FLAGS = \
 -D_LARGE_FILES \
 -DIOAPI \
 -DFLDMN=1

# Libraries -L/home/dkj/LTNG/base/src_ncf/dwong/mio
LIBRARIES = \
  -L/home/dwong03/lib/x86_64/intel/ioapi_3.2/Linux2_x86_64ifort -lioapi \
  -L$(NETCDF_PATH)/lib -lnetcdf -lnetcdff 

# List of Object files needed for linking
OBJECTS= \
LTNG_DEFN_DIAG.o \
$(MODEL).o 

.SUFFIXES: .F .f .c .f90 .F90

$(MODEL): $(OBJECTS)
	$(LINKER) $(LINK_FLAGS) $(OBJECTS) $(LIBRARIES) -o $@

.F90.o:
	$(FC) -c $(FR_FLAGS) $(INCLUDES) $(CPP_FLAGS) $<

.f90.o:
	$(FC) -c $(FR_FLAGS) $(INCLUDES) $<

.F.o:
	$(FC) -c $(FR_FLAGS) $(INCLUDES) $(CPP_FLAGS) $<

.f.o:
	$(FC) -c $(FR_FLAGS) $(INCLUDES) $<

.c.o:
	$(CC) -c $(INCLUDES) $(C_FLAGS) $(INCLUDES-h) $(CPP_FLAGS) $<
clean:
	-rm -f *.o *.mod *.x
