SHELL = /bin/sh # Listing of options that are usually independent of machine type. # When necessary, these are over-ridden by each architecture. ARFLAGS = -X64 # Variables set by arch/Config.pl: LIB_W3_PATH = /lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs LIB_BACIO_PATH = /lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs LIB_G2_PATH = /lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs LIB_Z_PATH = /usr/lib64 LIB_PNG_PATH = /apps/spack/libpng/1.6.37/intel/19.1.3.304/4ohkronuhlyherusoszzrmur5ewvlwzh/lib LIB_JASPER_PATH = /apps/spack/jasper/2.0.25/intel/19.1.3.304/sjib74krrorkyczqpqah4tvewmlnqdx4/lib64 # Extra flags needed for including or linking to GRIB2 library: GRIB2_FFLAGS = -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/g2tmpl -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/sfcio -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/slint -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/hwrfutil -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/sigio -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/bacio_8 -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/kdtree -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/w3_i4r8 -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/bacio_4 -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/fson -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/nemsio -I/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs/mods/g2 -I$(LIB_G2_PATH)/mods/g2 GRIB2_LIBS = -L/lfs/h1/ops/prod/packages/hwrf.v13.2.1/sorc/hwrf-vortextracker.fd/../../libs -L/apps/spack/jasper/2.0.25/intel/19.1.3.304/sjib74krrorkyczqpqah4tvewmlnqdx4/lib64 -L/apps/spack/libpng/1.6.37/intel/19.1.3.304/4ohkronuhlyherusoszzrmur5ewvlwzh/lib -L/usr/lib64 -lz -lg2 -lpng -lbacio -ljasper -lw3_i4r8 #### Architecture specific settings #### # Settings for Linux x86_64, Intel compiler, CrayPE (serial)# LDFLAGS = -Wl,-noinhibit-exec -i_dynamic -L$(MPI_ROOT)/lib BYTE_ORDER = LITTLE_ENDIAN SFC = ftn SF90 = ftn -free SCC = cc DEBUG_FLAGS = -g -traceback FFLAGS_SINGLE = -i4 -r4 FFLAGS_DOUBLE = -i4 -r8 CPP = /lib/cpp CPPFLAGS = -P -traditional -D$(BYTE_ORDER) -DWRF FFLAGS = -O2 -fp-model precise $(FFLAGS_DOUBLE) \ -I$(MPI_ROOT)/include CFLAGS = -I$(MPI_ROOT)/include DM_FC = ftn DM_F90 = ftn -free DM_CC = cc FC = $(SFC) F90 = $(SF90) CC = $(SCC) CFLAGS = -O ################################################################## # # Macros, these should be generic for all machines LN = ln -sf MAKE = make -i -r RM = /bin/rm -f CP = /bin/cp AR = ar MKDIR = /bin/mkdir -p .IGNORE: .SUFFIXES: .c .f .F .F90 .f90 .o # There is probably no reason to modify these rules .c.o: $(RM) $@ $(CC) $(CFLAGS) -c $< .f.o: $(RM) $@ $*.mod $(FC) $(FFLAGS) -c $< .F.o: $(RM) $@ $*.mod $(CPP) $(CPPFLAGS) $(FDEFS) $< > $*.f90 $(F90) $(FFLAGS) -c $*.f90 $(RM) $*.f90 .F90.o: $(RM) $@ $*.mod $(CPP) $(CPPFLAGS) $(FDEFS) $< > $*.f90 $(F90) $(FFLAGS) -c $*.f90 $(RM) $*.f90 .f90.o: $(RM) $@ $*.mod $(F90) $(FFLAGS) -c $<