# # --------------------------------------------------------------------- # common definitions for Intel Linux/IFC, MPI, real*8 # on Zeus # --------------------------------------------------------------------- # --------------------------------------------------------------------- # # Find the ESMF makefile fragment ifneq ($(origin ESMFMKFILE), environment) $(error Environment variable ESMFMKFILE was not set.) endif include $(ESMFMKFILE) # --------------------------------------------------------------------- # 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 = $(ESMF_F90COMPILER) #FCFFLAGS = -g -convert big_endian -assume byterecl -cm -vec_report0 -w -O3 -tpp7 -xW -r8 -mt_mpi #FCFFLAGS = -g -cm -vec_report0 -w -O3 -tpp7 -xW -r8 -mt_mpi #FCFFLAGS = -assume byterecl -cm -vec_report0 -w -O0 -g -xSSE4.2 -ip -tpp7 -xW -r8 -lmpi FCFFLAGS = -traceback -xHost -O3 -fp-model precise -no-fma -ftz -align array64byte -r8 -warn nogeneral -diag-disable 10212 -mcmodel=small CC = gcc CCFLAGS = -O -g CPP = cpp -P CPPFLAGS = -DUSE_NUOPC_CESMBETA -DREAL8 -DENDIAN_IO -DMPI -DSERIAL_IO -DTIMER -DRELO $(CPP_EXTRAS) LD = $(FC) #LDFLAGS = $(FCFFLAGS) -Vaxlib -Bstatic LDFLAGS = $(ESMF_F90LINKOPTS) $(ESMF_F90LINKPATHS) $(ESMF_F90LINKRPATHS) $(FCFFLAGS) EXTRALIBS = $(ESMF_F90ESMFLINKLIBS) # # --- generic make definitions # SHELL = /bin/sh RM = \rm -f # # rules. # .c.o: $(CC) $(CPPFLAGS) $(CCFLAGS) -c $*.c .F90.o: $(FC) $(CPPFLAGS) $(FCFFLAGS) -c $*.F90