###############################################################################
# On caparmor cluster, you must load the following modules :                  #
# module purge                                                                #
# module load intel-comp/12.1.5 mpt/2.06                                      #
###############################################################################
#
# CHAN	: communication technique used in OASIS3 (MPI1/MPI2)
CHAN            = MPI1
#
# Paths for libraries, object files and binaries
#
# COUPLE	: path for oasis3-mct main directory
COUPLE          = $(HOME)/oasis/oasis3-mct
#
# ARCHDIR       : directory created when compiling
ARCHDIR         = $(HOME)/oasis/compile_oasis3-mct
#
# NetCDF library
NETCDF_INCLUDE  = $(shell $(NETCDF_CONFIG) --includedir) 
NETCDF_LIBRARY  = $(shell $(NETCDF_CONFIG) --flibs) 
#
# MPI library
MPI         = $(shell which ifort)
MPIDIR      = $(shell dirname $(shell dirname $(MPI)))
MPIBIN      = $(MPIDIR)/bin
MPI_INCLUDE = $(MPIDIR)/include
#MPILIB      = -lmpi
#
# Compilers and options
MAKE        = gmake
F90         = ifort -lmpi
F           = $(F90)
f90         = $(F90)
f           = $(F90)
CC          = icc 
AR          = ar
ARFLAGS     = -ruv
F90COMP     = -xCORE-AVX2 -O3 -fno-alias -fp-model precise -assume byterecl -convert big_endian -no-fma -ip
F90LINK     = -O3 -xCORE-AVX2
#
# CPP keys and compiler options
CPPDEF    = -Duse_netCDF -Duse_comm_$(CHAN) -D__VERBOSE -DTREAT_OVERLAY 
#
# Flags 
#F90FLAGS_1  = $(F90COMP) -I.
F90FLAGS_1  = -O2 -I. -assume byterecl
f90FLAGS_1  = $(F90FLAGS_1)
FFLAGS_1    = $(F90FLAGS_1)
fFLAGS_1    = $(F90FLAGS_1)
#CCFLAGS_1   = $(F90FLAGS_1) 
CCFLAGS_1   =
LDFLAGS     = 
#
###################
#
# Additional definitions that should not be changed
#
#FLIBS		: netcdf library and more
FLIBS		= $(NETCDF_LIBRARY) $(LCPP) $(LIBXML)
#FLIBS          = $(NETCDF_LIBRARY)
# BINDIR        : directory for executables
BINDIR          = $(ARCHDIR)/bin
# LIBBUILD      : contains a directory for each library
LIBBUILD        = $(ARCHDIR)/build/lib
# INCPSMILE     : includes all *o and *mod for each library
INCPSMILE       = -I$(LIBBUILD)/psmile.$(CHAN) -I$(LIBBUILD)/mct -I$(LIBBUILD)/scrip

F90FLAGS  = $(F90FLAGS_1) $(INCPSMILE) $(CPPDEF) -I$(NETCDF_INCLUDE)
f90FLAGS  = $(f90FLAGS_1) $(INCPSMILE) $(CPPDEF) -I$(NETCDF_INCLUDE)
FFLAGS    = $(FFLAGS_1) $(INCPSMILE) $(CPPDEF) -I$(NETCDF_INCLUDE)
fFLAGS    = $(fFLAGS_1) $(INCPSMILE) $(CPPDEF) -I$(NETCDF_INCLUDE)
CCFLAGS   = $(CCFLAGS_1) $(INCPSMILE) $(CPPDEF) -I$(NETCDF_INCLUDE)
#
#############################################################################