#### Override object directories to separate similar architectures.
OBJDIR = $(FYS_PLATFORM)$(POSTFIX)
BINDIR = $(OBJDIR)
$(info FYS_PLATFORM detected - building for CAMd/CINF/Niflheim with OBJDIR=$(OBJDIR).)

#### Compilers and compilation flags

# Uncomment to enable OpenMP support
#OPENMPFLAGS = -openmp

# C and C++ compiler and compilation flags.  You enable OpenMP support here.
# OpenMP is currently only supported in the parallel version.
CC=icx
CXX=icpx
CFLAGS = -O3 -ftz -xHost -fPIC $(OPENMPFLAGS)
CXXFLAGS = $(CFLAGS)
LIBS = -lsvml -lm 

# Compilation flags for parallel simulations
MPICC=I_MPI_CXX=icpx mpicxx
MPICXX=I_MPI_CXX=icpx mpicxx
MPICFLAGS = $(CFLAGS)
MPICXXFLAGS = $(MPICFLAGS)
EXTRA_LIBS =  $(OPENMPFLAGS)

# Enable PARPOSTFIX if the compilation flags for parallel and serial code is different.
PARPOSTFIX = -par

# Extra flags to silence compiler warnings in Interface and ParallelInterface
IFACEFLAGS = -Wno-writable-strings

# Extra flags to silence compiler warning for the Brenner potential
#BRENNERCFLAGS =  -Wno-strict-aliasing -Wno-unused


#### Compilation flags and command that may need to be changed on special architectures.
#### The values in the comments are a good starting point.

# Compilation command for linking shared object
#CXXSHARED = $(CXX) -shared

# Libraries for linkage.  LIBS is for both serial and parallel version, EXTRA_LIBS is for parallel only.
#LIBS = -lm

# Dependency generation
#DEPENDFLAG = -MM
#DEPENDCLEAN = sed -e 's@/usr/[^ ]*@@g' | sed -e '/^ *\\ *$$/d'

EXTRA_LIBS =  -lreadline
