#################################
#                               #
#   Makefile for netCDF (UMD)   #
#                               #
#################################

SHELL = /bin/sh

MAIN:=RO-1DVAR.v4.0

SRC = module_datetypes.f90 \
      mylib_001.f90 \
      module_netcdf_IO_v.3.0.f90 \
      Subs_Pwet.f90 \
      ${MAIN}.f90

OBJ = module_datetypes.o \
      mylib_001.o \
      module_netcdf_IO_v.3.0.o \
      Subs_Pwet.o \
      ${MAIN}.o

EXE = ${MAIN}.x

NC_INC        := -I${NETCDF}/include 
NC_LIB        := -L$(NETCDF)/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz -ldl

#-------------------------------------
# Fortran Compiler, Linker, and Flags:
#-------------------------------------
FC = /usr/bin/gfortran
FL = /usr/bin/gfortran

FC_FLAGS = -c 
FL_FLAGS = -o
#FC_FLAGS = -c -g -O0 -fcheck=all -fbacktrace -Wall -Wextra -ffpe-trap=invalid,zero,overflow
#FL_FLAGS = -g -O0 -fbacktrace -o

.SUFFIXES:
.SUFFIXES: .f90 .o

#--- Linking  ---
$(EXE): $(OBJ)
	$(FL) ${NC_INC} $(FL_FLAGS) $@ $(OBJ) ${NC_LIB}

#--- Compile  ---
.f90.o:
	$(FC) ${NC_INC} $(FC_FLAGS) $< ${NC_LIB}
#	$(FC) $(NC_INC) $(FC_FLAGS) $<

#--- Cleaning ---
clean:
	rm -f *.mod *.o

#--- Running  ---
run:
	./$(EXE)

#--- End of Makefile
