# # --------------------------------------------------------------------------- # common definitions for 32-core Cray XC40, MPI, small memory, real*8 # GNU Fortran: module switch PrgEnv-cray PrgEnv-GNU # -O2 to maintain 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 = -fPIC -fno-second-underscore -O2 -march=native -mavx -m64 -fdefault-real-8 -fdefault-double-8 CC = cc CCFLAGS = -O -m64 CPP = cpp -P CPPFLAGS = -DIA32 -DREAL8 -DMPI -DENDIAN_IO -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