# Common flags
##############
#
# -mkl=[parallel|sequential] : Use the MKL library
# --ninja                 : Allow the utilisation of ninja. It is mandatory !
# --align=32                 : Align all provided arrays on a 32-byte boundary
#
[COMMON]
FC           : mpiifort -fpic -diag-disable=10448
LAPACK_LIB   : -mkl=parallel
IRPF90       : irpf90
IRPF90_FLAGS : --ninja --align=32 -DMPI -DINTEL 

# Global options
################
#
# 1 : Activate
# 0 : Deactivate
#
[OPTION]
MODE    : OPT        ; [ OPT | PROFILE | DEBUG ] : Chooses the section below
CACHE   : 0          ; Enable cache_compile.py
OPENMP  : 1          ; Append OpenMP flags

# Optimization flags
####################
#
# -xHost                     : Compile a binary optimized for the current architecture
# -O2                        : O3 not better than O2.
# -ip                        : Inter-procedural optimizations
# -ftz                       : Flushes denormal results to zero
#
[OPT]
FCFLAGS  : -msse4.2 -O2 -ip -ftz -g -traceback

# Profiling flags
#################
#
[PROFILE]
FC       : -p -g
FCFLAGS  : -msse4.2 -O2 -ip -ftz


# Debugging flags
#################
#
# -traceback   : Activate backtrace on runtime
# -fpe0        : All floating point exaceptions
# -C           : Checks uninitialized variables,  array subscripts, etc...
# -g           : Extra debugging information
# -xSSE2       : Valgrind needs a very simple x86 executable
#
[DEBUG]
FC      : -g -traceback
FCFLAGS : -xSSE2 -C -fpe0  -implicitnone


# OpenMP flags
#################
#
[OPENMP]
FC           : -qopenmp
IRPF90_FLAGS : --openmp

