.mod=.mod .fh=.fh .SUFFIXES: .f90 $(.mod) .F90 .F ####################### Section 1 ####################### # Define your compilers and compiler flags here # ########################################################## F90=xlf95 -qsuffix=f=f90:cpp=F90 FC=xlf -qsuffix=cpp=F F77=$(FC) CC=xlc F90COPT= -O3 FCOPT=-O3 CCOPT=-O3 ####################### Section 2 ####################### # Define your linker and linker flags here # ########################################################## MPF90=mpxlf95 -qsuffix=f=f90 F90LINK=$(MPF90) FLINK=$(MPF90) MPF77=mpxlf95 -qfixed MPCC=mpxlc ####################### Section 3 ####################### # Specify paths to libraries # ########################################################## BLAS=-lessl BLACS=-lblacs ####################### Section 4 ####################### # Other useful tools&defines # ########################################################## #SLUDIR=/usr/local/SuperLU_3.0 #SLU=-lslu -L$(SLUDIR) #SLUDEF=-DHave_SLU_ -I$(SLUDIR) #UMFDIR=$(HOME)/LIB/Umfpack #UMF=-lumfpack -lamd -L$(UMFDIR) #UMFDEF=-DHave_UMF_ -I$(UMFDIR) # # We are using the public domain tool METIS from U. Minnesota. To get it # check URL http://www.cs.umn.edu:~karypis # METIS_LIB = -L$(HOME)/NUMERICAL/metis-4.0 -lmetis LDLIBS=$(BLACS) $(SLU) $(UMF) $(BLAS) $(METIS_LIB) # Add -DLargeFptr for 64-bit addresses CDEFINES=-DNoChange $(SLUDEF) $(UMFDEF) -DLargeFptr FDEFINES=-WF,-DESSL_BLACS # Apparently there's no MOVE_ALLOC yet in XLF. #-WF,-DHAVE_MOVE_ALLOC AR=ar -cur RANLIB=ranlib ####################### Section 5 ####################### # Do not edit this # ########################################################## LIBDIR=lib BASELIBNAME=libpsb_base.a PRECLIBNAME=libpsb_prec.a METHDLIBNAME=libpsb_krylov.a UTILLIBNAME=libpsb_util.a # Under Linux/gmake there is a rule interpreting .mod as Modula source! $(.mod).o: .f.o: $(FC) $(FCOPT) $(INCDIRS) -c $< .c.o: $(CC) $(CCOPT) $(INCDIRS) $(CDEFINES) -c $< .f$(.mod): $(F90) $(FCOPT) $(INCDIRS) -c $< .f90$(.mod): $(F90) $(F90COPT) $(INCDIRS) -c $< .f90.o: $(F90) $(F90COPT) $(INCDIRS) -c $< .F.o: $(FC) $(F90COPT) $(INCDIRS) $(FDEFINES) -c $< .F90.o: $(F90) $(F90COPT) $(INCDIRS) $(FDEFINES) -c $< .F90$(.mod): $(F90) $(F90COPT) $(INCDIRS) $(FDEFINES) -c $<