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 = LIB_BACIO_PATH = LIB_G2_PATH = LIB_Z_PATH = LIB_PNG_PATH = LIB_JASPER_PATH = # Extra flags needed for including or linking to GRIB2 library: GRIB2_FFLAGS = -I$(SFCIO_INC4) -I$(G2TMPL_INC) -I$(SIGIO_INC) -I$(G2_INC4) GRIB2_LIBS = -L$(LIB_JASPER_PATH) -L$(LIB_PNG_PATH) $(G2_LIB4) $(BACIO_LIB4) $(W3NCO_LIB4) $(W3EMC_LIB4) -lpng -ljasper -lz #### Architecture specific settings #### # Settings for Linux x86_64, Intel compiler, CrayPE (serial)########################################################### # #LDFLAGS = -Wl,-noinhibit-exec -i_dynamic -L$(MPI_ROOT)/lib LDFLAGS = -Wl,-noinhibit-exec -L$(CRAY_MPICH_PREFIX)/lib BYTE_ORDER = LITTLE_ENDIAN #SFC = ftn -static SFC = ftn #SF90 = ftn -free -static SF90 = ftn -free SCC = cc DEBUG_FLAGS = -g -traceback FFLAGS_SINGLE = -i4 -r4 FFLAGS_DOUBLE = -i4 -r8 CPP = /lib/cpp CPPFLAGS = -P -D$(BYTE_ORDER) -DWRF #FFLAGS = -O1 -xW -fp-model precise $(FFLAGS_DOUBLE) \ FFLAGS = -O1 -fp-model precise $(FFLAGS_DOUBLE) \ -I$(CRAY_MPICH_PREFIX)/include # -I$(MPI_ROOT)/include #CFLAGS = -I$(MPI_ROOT)/include CFLAGS = -I$(CRAY_MPICH_PREFIX)/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 $<