SHELL = /bin/sh # Listing of options that are usually independent of machine type. # When necessary, these are over-ridden by each architecture. ARFLAGS = -X64 #### Architecture specific settings #### # Settings for AIX (dmpar)# BYTE_ORDER = BIG_ENDIAN SFC = xlf_r SF90 = xlf90 -qfree SCC = xlc_r DEBUG_FFLAGS = -g -qsigtrap -qfullpath -C -qflttrap=zerodivide:enable -qinitauto=FF911299 FFLAGS = -O -qnosave -qarch=auto -q64 -DIBM4 # $(DEBUG_FFLAGS) FFLAGS_DOUBLE = -qintsize=4 -qrealsize=8 FFLAGS_SINGLE = -qintsize=4 -qrealsize=4 FFLAGS_TRACKER = -O2 -qcheck -qextchk -qarch=auto -qflttrap=ov:zero:inv:enable $(FFLAGS_DOUBLE) CPP = /usr/lib/cpp CPPFLAGS = -C -P -D$(BYTE_ORDER) -DWRF -Dibm_sp -I/usr/lpp/ppe.poe/include/thread -I$(WRF_DIR)/inc FPPFLAGS = $(CPPFLAGS) ARFLAGS = -ruv -X64 DM_FC = mpxlf_r DM_F90 = mpxlf90_r -qfree DM_CC = mpcc_r FC = $(DM_FC) F90 = $(DM_F90) CC = $(DM_CC) CFLAGS = -I ./ -q64 -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -DIBM4 # -DVERBOSE DEBUG_CFLAGS = -C -qfullpath ESSLLIB = -lessl MASSLIB = -lmass WRF_DIR = ../sorc/hwrf_v3.4.0.fd/ ########################################################### # # 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 $<