SHELL = /bin/sh # Listing of options that are usually independent of machine type. # When necessary, these are over-ridden by each architecture. ARFLAGS = -X64 # Ensure FFLAGS_SP exists: FFLAGS_SP = #### Architecture specific settings #### # Settings for Linux x86_64, Intel compiler w/MKL, CrayPE (dmpar)# LDFLAGS_GRIB2_LIB = -L/apps/spack/jasper/2.0.25/intel/19.1.3.304/sjib74krrorkyczqpqah4tvewmlnqdx4/lib64/libjasper.a -lpng -lz -ljasper FFLAGS_GRIB2_INC = -I/apps/spack/jasper/2.0.25/intel/19.1.3.304/sjib74krrorkyczqpqah4tvewmlnqdx4/include LDFLAGS = -Wl,-noinhibit-exec -static CFLAGS_GRIB2 = -I/apps/spack/jasper/2.0.25/intel/19.1.3.304/sjib74krrorkyczqpqah4tvewmlnqdx4/include WRF_GRIB2 = -L$(WRF_DIR)/external/io_grib2 -lio_grib2 -L/apps/spack/jasper/2.0.25/intel/19.1.3.304/sjib74krrorkyczqpqah4tvewmlnqdx4/lib64/libjasper.a -ljasper -lpng -lz WRF_PNETCDF = NETCDF_INCLUDE = -I/apps/prod/hpc-stack/intel-19.1.3.304/cray-mpich-8.1.4/netcdf/4.7.4/include NETCDF_LDFLAGS = -L/apps/prod/hpc-stack/intel-19.1.3.304/cray-mpich-8.1.4/netcdf/4.7.4/lib -lnetcdff -lnetcdf -lz -L/apps/prod/hpc-stack/intel-19.1.3.304/cray-mpich-8.1.4/hdf5/1.10.6/lib -lhdf5_hl -lhdf5hl_fortran -lhdf5 -lhdf5_fortran -lz BYTE_ORDER = LITTLE_ENDIAN SFC = ftn -static SF90 = ftn -free -static SCC = cc OMP_FFLAGS = -openmp DEBUG_FLAGS = -g -fpe0 -traceback FFLAGS = -O3 -convert big_endian -DLINUX -fp-model precise \ -assume byterecl # $(DEBUG_FLAGS) FFLAGS_SP = -heap-arrays FFLAGS_SHIPS = -O3 -fp-model precise FFLAGS_BUFR = -O3 -DLINUX -fp-model precise -assume byterecl CFLAGS_BUFR = -O3 -DUNDERSCORE FFLAGS_DOUBLE2 = -integer-size 64 -real-size 64 FFLAGS_DOUBLE = -integer-size 32 -real-size 64 FFLAGS_SINGLE = -integer-size 32 -real-size 32 FFLAGS_TRACKER = -O3 -convert big_endian -DLINUX -fp-model precise \ -assume byterecl $(FFLAGS_DOUBLE) # $(DEBUG_FLAGS) CPP = /lib/cpp CPPFLAGS = -P -traditional-cpp -D$(BYTE_ORDER) -DWRF -DLINUX -I$(WRF_DIR)/inc FPPFLAGS = $(CPPFLAGS) -traditional-cpp FPP = /lib/cpp -P -traditional-cpp ARFLAGS = -ruv DM_FC = ftn DM_F90 = ftn -free DM_CC = cc DM_LDFLAGS = $(LDFLAGS) -L$(MPI_ROOT)/lib DM_FFLAGS = $(FFLAGS) -I$(MPI_ROOT)/include DM_CFLAGS = $(CFLAGS) -I$(MPI_ROOT)/include FC = $(DM_FC) F90 = $(DM_F90) CC = $(DM_CC) CFLAGS = -O3 -DLINUX -DUNDERSCORE -Dfunder -DFortranByte=char \ -DFortranInt=int -DFortranLlong='long long' DEBUG_CFLAGS = ESSLLIB = -mkl=sequential MASSLIB = WRF_DIR = /lfs/h1/ops/prod/packages/hwrf.v13.2.1.productsfix/libs/../sorc/hwrf_v4.0.0.fd/ SED_FTN = $(WRF_DIR)/tools/standard.exe LIB_EXTERNAL = -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \ -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \ -L$(WRF_DIR)/external/atm_ocn -latm_ocn \ -L$(WRF_DIR)/external/io_int -lwrfio_int \ -L$(WRF_DIR)/external/esmf_time_f90 -lesmf_time \ -L$(WRF_DIR)/external/RSL_LITE -lrsl_lite \ -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \ -L$(WRF_DIR)/external/io_grib2 -lio_grib2 -L/apps/spack/jasper/2.0.25/intel/19.1.3.304/sjib74krrorkyczqpqah4tvewmlnqdx4/lib64/libjasper.a -ljasper ################################################################## # # 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 RANLIB = ranlib .IGNORE: .SUFFIXES: .c .f .F .F90 .f90 .o .fpp # There is probably no reason to modify these rules .c.o: $(RM) $@ $(CC) $(CFLAGS) -c $< .f.o: $(RM) $@ $*.mod $(FC) $(FFLAGS) -c $< .fpp.o: $(RM) $@ $*.mod $*.f $(CPP) $(FPPFLAGS) $(FDEFS) $< > $*.f && \ $(FC) $(FFLAGS) -c $*.f && \ $(RM) $*.f .F.o: $(RM) $@ $*.mod $(CPP) $(FPPFLAGS) $(FDEFS) $< > $*.f90 && \ $(F90) $(FFLAGS) -c $*.f90 && \ $(RM) $*.f90 .F90.o: $(RM) $@ $*.mod $(CPP) $(FPPFLAGS) $(FDEFS) $< > $*.f90 && \ $(F90) $(FFLAGS) -c $*.f90 && \ $(RM) $*.f90 .f90.o: $(RM) $@ $*.mod $(F90) $(FFLAGS) -c $<