diff --git a/Make/Make.inc.gnu43 b/Make/Make.inc.gnu43 new file mode 100644 index 00000000..02a3ecb0 --- /dev/null +++ b/Make/Make.inc.gnu43 @@ -0,0 +1,112 @@ +.mod=.mod +.fh=.fh +.SUFFIXES: .f90 $(.mod) .F90 .F + + +####################### Section 1 ####################### +# Define your compilers and compiler flags here # +########################################################## +GNU43BIN=/usr/local/gcc43/bin +F90=$(GNU43BIN)/gfortran +FC=$(GNU43BIN)/gfortran +F77=$(FC) +CC=$(GNU43BIN)/gcc +F90COPT=-O3 -march=native +FCOPT=-O3 -march=native +CCOPT=-O3 -march=native +# +# Which flag does your compiler use for module inclusion? +# Most compilers use -I but Sun uses -M +# FIFLAG is for INCLUDE +FMFLAG=-I +FIFLAG=-I + +####################### Section 2 ####################### +# Define your linker and linker flags here # +# Does your MPI provide mpi.mod or mpif.h? # +# MPI_FINC=-DMPI_H or MPI_FINC=-DMPI_MOD # +# If necessary add an include dir # +########################################################## +MPIDIR=/usr/local/mpich-gcc43 +MPIBIN=$(MPIDIR)/bin +F90LINK=$(MPIBIN)/mpif90 +FLINK=$(MPIBIN)/mpif77 +MPF90=$(MPIBIN)/mpif90 +MPF77=$(MPIBIN)/mpif77 +MPCC=$(MPIBIN)/mpicc +MPI_FINC=-DMPI_MOD +#$(FIFLAG)/opt/SUNWhpc/include + +####################### Section 3 ####################### +# Specify paths to libraries # +########################################################## +BLAS=-lblas-gcc42 -L$(HOME)/LIB +BLACS=-lmpiblacs-gcc42 -L$(HOME)/LIB + + +####################### Section 4 ####################### +# Other useful tools&defines # +# SLU and UMF need only be set when using MLD2P4 # +########################################################## +#SLUDIR=/usr/local/SuperLU_3.0 +#SLU=-lslu_lx_gcc42 -L$(SLUDIR) +#SLUDistDIR=/usr/local/SLUDist_2.0 +#SLUDist=-lslud-gcc42 -L$(SLUDistDIR) -L $(HOME)/LIB +#SLUDEF=-DHave_SLU_ -I$(SLUDIR) -DHave_SLUDist_ -I$(SLUDistDIR) +# +#UMFDIR=$(HOME)/LIB/Umfpack_gcc41 +#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) $(SLUDist) $(UMF) $(BLAS) $(METIS_LIB) + +# Add -DLargeFptr for 64-bit addresses +CDEFINES=-DAdd_ $(SLUDEF) $(UMFDEF) +FDEFINES=-DNETLIB_BLACS $(MPI_FINC) -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 +CBASELIBNAME=libpsb_base_cbind.a +CPRECLIBNAME=libpsb_prec_cbind.a +CMETHDLIBNAME=libpsb_krylov_cbind.a +CUTILLIBNAME=libpsb_util_cbind.a + + +# Under Linux/gmake there is a rule interpreting .mod as Modula source! +$(.mod).o: + +.c.o: + $(CC) $(CCOPT) $(CINCLUDES) $(CDEFINES) -c $< +.f.o: + $(FC) $(FCOPT) $(FINCLUDES) -c $< +.f$(.mod): + $(F90) $(FCOPT) $(FINCLUDES) -c $< +.f90$(.mod): + $(F90) $(F90COPT) $(FINCLUDES) -c $< +.f90.o: + $(F90) $(F90COPT) $(FINCLUDES) -c $< +.F.o: + $(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $< +.F90.o: + $(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $< +.F90$(.mod): + $(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $< + + + +