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)# LDFLAGS = -Wl,-noinhibit-exec -lm -L$(MPI_ROOT)/lib BYTE_ORDER = LITTLE_ENDIAN SFC = ifort SF90 = ifort -free SCC = icc FFLAGS = -O3 -xW -fp-model precise -assume byterecl \ -convert big_endian -DLINUX -I$(MPI_ROOT)/include DEBUG_FLAGS = -O0 -g -traceback -fpe0 -I$(MPI_ROOT)/include FFLAGS_DOUBLE = -i4 -r8 FFLAGS_SINGLE = -i4 -r4 CPP = /lib/cpp CPPFLAGS = -C -P -D$(BYTE_ORDER) -DWRF ARFLAGS = -ruv DM_FC = mpfort DM_F90 = mpfort -free DM_CC = mpcc FC = $(DM_FC) F90 = $(DM_F90) CC = $(DM_CC) CFLAGS = ESSLLIB = -lblas ################################################################## # # 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 # 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 $<