# Using GNU gfortran (from GCC 3.5.0) .mod=.mod .SUFFIXES: .f90 $(.mod) F90=/usr/local/gfortran/bin/gfortran FC=/usr/local/gfortran/bin/gfortran F77=$(FC) F90COPT=-O3 -ffast-math -march=pentium4 -msse2 -mfpmath=sse FCOPT=-O3 -ffast-math -march=pentium4 -msse2 -mfpmath=sse CC=/usr/local/gfortran/bin/gcc CCOPT=-O3 -ffast-math -march=pentium4 -msse2 -mfpmath=sse F90LINK=/usr/local/mpich-gfortran/bin/mpif90 FLINK=mpif77 MPF90=$(F90LINK) MPCC=/usr/local/mpich-gfortran/bin/mpicc # # BLAS=-lblas -L$(HOME)/LIB BLACS=-lmpiblacs-gfortran -L$(HOME)/LIB # # Comment these, and uncomment SLUDEF below if you don't want SuperLU. SLUDIR=/usr/local/SuperLU_3.0 SLU=-lslu_lx_gfort -L$(SLUDIR) SLUDEF=-DHave_SLU_ -I$(SLUDIR) # SLUDEF= CDEFINES=-DAdd_ $(SLUDEF) AR=ar -cur RANLIB=ranlib TYPEMODS = typesp$(.mod) typedesc$(.mod) typeprec$(.mod) realloc$(.mod) CONSTMODS = tools_const$(.mod) BLASMODS = $(TYPEMODS) f90psblas$(.mod) f90comm$(.mod) METHDMODS = f90methd$(.mod) TOOLSMODS = $(CONSTMODS) psimod$(.mod) f90tools$(.mod) f90serial$(.mod) string$(.mod) PRECMODS = f90prec$(.mod) ERRORMODS = errormod$(.mod) F90MODS= $(BLASMODS) $(PRECMODS) $(METHDMODS) $(TOOLSMODS) f90sparse$(.mod) $(ERRORMODS) MODS=$(LIBDIR)/tools_const$(.mod) $(LIBDIR)/typesp$(.mod) $(LIBDIR)/realloc$(.mod) \ $(LIBDIR)/typedesc$(.mod) $(LIBDIR)/typeprec$(.mod) $(LIBDIR)/parts.f90 \ $(LIBDIR)/f90serial$(.mod) $(LIBDIR)/f90comm$(.mod) $(LIBDIR)/string$(.mod)\ $(LIBDIR)/errormod$(.mod) # 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 $<