################################################################################
#
# ------ For MacOSX & gnu fortran&C & openmpi -----
#
################################################################################

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

FC  = mpif90
SFC = gfortran
MODDIROPT = -J

FFLAGS_CORE = -cpp -m64                                                                     \
              -std=f2008 -fall-intrinsics -pedantic-errors -fimplicit-none -fmodule-private \
              -fconvert=big-endian -frecord-marker=4 -ffree-form -ffree-line-length-none    \
              -ffpe-summary=none

FFLAGS_FAST  = -O3 $(FFLAGS_CORE)                                       \
               -funroll-loops -finline-functions -fprefetch-loop-arrays

FFLAGS_QUICKDEBUG = -ffpe-trap=invalid,zero,overflow -fcheck=bounds,do,mem,pointer -finit-real=snan -g -fbacktrace

FFLAGS_DYN   = $(FFLAGS)

FFLAGS_DEBUG = -O0 $(FFLAGS_CORE)                                                                   \
               -ffpe-trap=invalid,zero,overflow -fcheck=bounds,do,mem,pointer                       \
               -finit-integer=-32768 -finit-real=snan -finit-logical=false -finit-character=9       \
               -Wall -Wextra -Wcharacter-truncation -Wunderflow -Warray-temporaries -Wuninitialized \
               -Wconversion-extra                                                                   \
               -g -fbacktrace

F77FLAGS = -ffixed-form -ffixed-line-length-132



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

CC  = mpicc

CFLAGS_FAST  = -O3 -m64
CFLAGS_DEBUG = -O0 -m64 -g



##### Special setting

FFLAGS_OPENMP = -fopenmp

SSE_FLAGS = -mtune=native

FFLAGS_SYSDEPEND = $(SSE_FLAGS)
CFLAGS_SYSDEPEND = $(SSE_FLAGS)



##### 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/opt/local/include"
# export SCALE_NETCDF_LIBS="-L/opt/local/lib -lnetcdff -lnetcdf"

###### Math library
# Please set environment variable
# example:
# export SCALE_MATHLIB_LIBS="-L/opt/local/lib -llapack -lcblas -lf77blas -latlas"

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