################################################################################
#
# ------ For Linux64 & intel fortran&C & intel mpi -----
#
################################################################################

##### Fortran setting
#FFLAGS is set in Mkinclude. FFLAGS_DEBUG is used if SCALE_DEBUG=T

FC  = mpiifort
SFC = ifort
MODDIROPT = -module

FFLAGS_FAST  = -fpp -m64 -O3 -xHost -ip             \
               -assume byterecl -convert big_endian \
               -fp-model source                     \
               -mcmodel=medium -heap-arrays

FFLAGS_AGGRESSIVE = -ipo -no-prec-div -no-heap-arrays

FFLAGS_QUICKDEBUG = -traceback -fpe0 -CB -CU

FFLAGS_DYN   = $(FFLAGS)

FFLAGS_DEBUG = -fpp -m64 -O0                        \
               -assume byterecl -convert big_endian \
               -fpe0 -fp-model source               \
               -check all -warn all -g -traceback   \
               -mcmodel=medium -heap-arrays         \
               -assume nobuffered_io



##### C setting
#CFLAGS is set in Mkinclude. CFLAGS_DEBUG is used if SCALE_DEBUG=T

CC = mpiicc

CFLAGS_FAST       = -O3 -xHost -ip -ftz -mcmodel=medium -shared-intel
CFLAGS_AGGRESSIVE = -ipo -no-prec-div
CFLAGS_DEBUG      = -O0



##### Special setting

IFORT_VERSION=$(shell $(SFC) -v 2>&1 | cut -f3 -d' ' | cut -f1 -d.)
ifeq ($(shell if [ $(IFORT_VERSION) -ge 15 ]; then echo yes; fi),yes)
  FFLAGS_OPENMP = -qopenmp -no-heap-arrays
else
  FFLAGS_OPENMP = -openmp -no-heap-arrays
endif

ifeq ($(SCALE_DISABLE_INTELVEC),T)
   NOVEC = -no-vec
endif

FFLAGS_SYSDEPEND = $(NOVEC)
CFLAGS_SYSDEPEND =

FFLAGS_TENTATIVE = -no-ip -no-ipo

##### Linker setting

LD      = $(FC)
LDFLAGS = $(FFLAGS)



################################################################################

###### NetCDF library
# Settings are inquired by using nf-config & nc-config command (see scale/Mkinclude)
# Or, please set environment variable
# example:
# export SCALE_NETCDF_INCLUDE="-I/ap/netcdf4-fortran/4.4.2-intel/include -I/ap/HDF5/1.8.16-intel/include -I/ap/netcdf4/4.3.3.1-intel/include"
# export SCALE_NETCDF_LIBS="-L/ap/netcdf4-fortran/4.4.2-intel/lib -L/ap/HDF5/1.8.16-intel/lib -L/ap/netcdf4/4.3.3.1-intel/lib -lnetcdff -lnetcdf"

###### Math library
# Please set environment variable
# example:
# export SCALE_MATHLIB_LIBS="-mkl=sequential"

###### PAPI library
# Please set environment variable
# example:
# export SCALE_PAPI_INCLUDE="-I/usr/include"
# export SCALE_PAPI_LIBS="-L/usr/lib64 -lpapi"

##### for frontend
INSTALL = install
AR      = xiar
ARFLAGS = r
RANLIB  = ranlib
JOBSUB  = sh
