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 Linux x86_64, Intel compiler, IBM POE (dmpar)# NETCDF = /usrx/local/NetCDF/3.6.3 PNETCDF = /usrx/local/PNetCDF/1.2.0 LDFLAGS = -Wl,-noinhibit-exec -i_dynamic -L$(MPI_ROOT)/lib LIB_W3_PATH = /com/pmb/Simon.Hsiao/RFC/WCOSS/hwrf.v8.0.0/sorc/hwrf_pomtc.fd/../../libs LIB_SP_PATH = /com/pmb/Simon.Hsiao/RFC/WCOSS/hwrf.v8.0.0/sorc/hwrf_pomtc.fd/../../libs LIB_SFCIO_PATH = /com/pmb/Simon.Hsiao/RFC/WCOSS/hwrf.v8.0.0/sorc/hwrf_pomtc.fd/../../libs LIB_BLAS_PATH = /com/pmb/Simon.Hsiao/RFC/WCOSS/hwrf.v8.0.0/sorc/hwrf_pomtc.fd/../../libs BYTE_ORDER = LITTLE_ENDIAN SFC = ifort SF90 = ifort -free SCC = icc OMP_FFLAGS = -openmp FFLAGS = -O2 -fp-model precise -assume byterecl -convert big_endian \ -I$(MPI_ROOT)/include # $(DEBUG_FFLAGS) FFLAGS_MPI_POM = -O1 -fp-model precise \ -I$(MPI_ROOT)/include # $(DEBUG_FFLAGS) DEBUG_FFLAGS = -g -traceback -ftz -fpe0 CPP = /lib/cpp CPPFLAGS = -C -P -D$(BYTE_ORDER) -DWRF DM_FC = mpfort DM_F90 = mpfort -free DM_CC = mpcc FC = $(DM_FC) F90 = $(DM_F90) CC = $(DM_CC) CFLAGS = -I$(MPI_ROOT)/include ESSLLIB = -L$(LIB_BLAS_PATH) -lblas -mkl MATHLIB = -lm ################################################################## # # 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) $(CFLAGS2) -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 $<