FC  = ifort

INC_NC  = -I/opt/ohpc/pub/libs/intel/impi/netcdf-fortran/4.4.5/include
LIB_NC  = -L/opt/ohpc/pub/libs/intel/impi/netcdf-fortran/4.4.5/lib -lnetcdff -L/opt/ohpc/pub/libs/intel/impi/hdf5/1.10.5/lib -L/opt/ohpc/pub/libs/intel/impi/netcdf/4.6.3/lib -lnetcdf -lnetcdf -lhdf5_hl -lhdf5 -lz -lm

FESMUTILSROOT=fesm-utils/utils
INC_FESMUTILS = -I${FESMUTILSROOT}/include-serial
LIB_FESMUTILS = -L${FESMUTILSROOT}/include-serial -lfesmutils

LISROOT = fesm-utils/lis-serial
INC_LIS = -I${LISROOT}/include 
LIB_LIS = -L${LISROOT}/lib/ -llis

PETSCROOT = /opt/local/lib/petsc
INC_PETSC = -I $(PETSC_DIR)/include
LIB_PETSC = -L${PETSC_DIR}/lib -lpetsc

FFLAGS  = -no-wrap-margin -module $(objdir) -L$(objdir)

ifeq ($(openmp), 1)
    FESMUTILSROOT=fesm-utils/utils
    INC_FESMUTILS = -I${FESMUTILSROOT}/include-omp
    LIB_FESMUTILS = -L${FESMUTILSROOT}/include-omp -lfesmutils

    LISROOT = fesm-utils/lis-omp
    INC_LIS = -I${LISROOT}/include 
    LIB_LIS = -L${LISROOT}/lib/ -llis

    FFLAGS  = -no-wrap-margin -module $(objdir) -L$(objdir) -qopenmp
endif 

# Define which linear solvers to include (LIS necessary, PETSC optional)
INC_LINEAR = $(INC_LIS)
LIB_LINEAR = $(LIB_LIS)
ifeq ($(petsc), 1)
    # Add petsc library to flags
    INC_LINEAR = $(INC_LIS) $(INC_PETSC) 
    LIB_LINEAR = $(LIB_LIS) $(LIB_PETSC)
endif

LFLAGS  = $(LIB_NC) $(LIB_FESMUTILS) $(LIB_LINEAR) -Wl,-zmuldefs

DFLAGS_NODEBUG = -O2 -fp-model precise
DFLAGS_DEBUG   = -C -traceback -ftrapuv -fpe0 -check all -fp-model precise
DFLAGS_PROFILE = -O2 -fp-model precise -pg
