#
# ---------------------------------------------------------------------------
# common definitions for 32-core Cray XC40, MPI,  small memory, real*8
# Portland Group Compiler: module switch PrgEnv-cray PrgEnv-pgi
# -Mvect=simd,uniform -Kieee maintains bit for bit equality for all NMPI values
# version that uses MPI-2 I/O for HYCOM
# relocatable version
# ---------------------------------------------------------------------------
#
# MACROS      DESCRIPTIONS:
#
# FC:         Fortran 90 compiler.
# FCFFLAGS:   Fortran 90 compilation flags.
# CC:         C compiler.
# CCFLAGS:    C compilation flags.
# CPP:        cpp preprocessor (may be implied by FC).
# CPPFLAGS:   cpp -D macro flags.
# LD:         Loader.
# LDFLAGS:    Loader flags.
# EXTRALIBS:  Extra local libraries (if any).
#
FC            = ftn
FCFFLAGS      =	-gopt -fastsse -tp ivybridge -Mdaz -Mvect=simd,uniform -Kieee -r8 -mcmodel=small
CC            =	cc
CCFLAGS       =	-O -mcmodel=small
CPP           =	cpp -P
CPPFLAGS      =	-DIA32 -DREAL8 -DMPI -DENDIAN_IO -DNAN2003 -DTIMER -DRELO $(CPP_EXTRAS)
LD            =	$(FC)
LDFLAGS       =	$(FCFFLAGS) 
EXTRALIBS     = 

#
# --- generic make definitions
#
SHELL         = /bin/sh
RM            = \rm -f

#
# rules.
#

.c.o:
	$(CC) $(CPPFLAGS) $(CCFLAGS)  -c $*.c

.F90.o:
	$(FC) $(CPPFLAGS) $(FCFFLAGS) -c $*.F90