### Compiler #####################

FC  = gfortran

### Library locations ############

#NCLIB = $(shell nc-config --flibs)
#NCFLAGS = $(shell nc-config --fflags | rev | cut -d" " -f1 | rev)  # only last field to get rid of other flags such as -g -O2

CLUSTER_PACKAGES=/p/system/packages
module_nc_f = netcdf-fortran/4.4.4/gnu/serial
module_nc_c = netcdf-c/4.3.3.1/gnu/serial

#modules="compiler/gnu/4.9.2 compiler/intel/17.0.0 $(module_nc_f)"  # to be loaded with module load
LIB_NC = -L$(CLUSTER_PACKAGES)/$(module_nc_f)/lib -L$(CLUSTER_PACKAGES)/$(module_nc_c)/lib -lnetcdf -lnetcdff
INC_NC = -I$(CLUSTER_PACKAGES)/$(module_nc_f)/include

COORDROOT = /p/projects/tumble/robinson/EURICE/coordinates/libcoordinates
INC_COORD = -I${COORDROOT}/include
LIB_COORD = -L${COORDROOT}/include -lcoordinates

LIB_MKL = -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread

LISROOT = /home/robinson/apps/lis/lis
INC_LIS = -I${LISROOT}/include 
LIB_LIS = -L${LISROOT}/lib/ -llis

YELMOROOT = /home/robinson/apps/yelmo/yelmo/libyelmo
INC_YELMO = -I${YELMOROOT}/include
LIB_YELMO = -L${YELMOROOT}/include -lyelmo

### Compiler options #############

CPPFLAGS     = -cpp
CPPFLAGS_BGC = #-DAGG
# Note: BGC flags control HAMOCC behaviour

DFLAGS_NODEBUG = -O2
DFLAGS_DEBUG   = -w -g -p -ggdb -ffpe-trap=invalid,zero,overflow,underflow -finit-real=snan -fbacktrace -fcheck=all -Wall
DFLAGS_PROFILE = -O2 -pg 

FFLAGS_DEFAULT = -ffree-line-length-none -I$(objdir) -J$(objdir) $(INC_NC) $(INC_LIS) $(INC_COORD) $(INC_YELMO)
FFLAGS_OPENMP  = $(FFLAGS_DEFAULT) -qop

LFLAGS  = $(LIB_NC) $(LIB_LIS) $(LIB_COORD) $(LIB_YELMO)

