.mod=.mod
.fh=.fh
.SUFFIXES:
.SUFFIXES: .f90 .F90 $(.mod)  .F .f .c .o


#######################  Section 1 #######################
#  Define your compilers and compiler flags here         #
##########################################################
F90=/usr/local/gcc42/bin/gfortran
FC=/usr/local/gcc42/bin/gfortran
F77=$(FC)
CC=/usr/local/gcc42/bin/gcc
F90COPT=-O3 
FCOPT=-O3 
CCOPT=-O3 
#
# 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 MPIINCDIR                            #
##########################################################
F90LINK=$(FC)
FLINK=$(FC)
MPF90=$(FC)
MPF77=$(FC)
MPCC=$(CC)
MPI_FINC=-DMPI_MOD
#$(FIFLAG)/opt/SUNWhpc/include

#######################  Section 3 #######################
#  Specify paths to libraries                            #
##########################################################
BLAS=-lblas-gcc42 -L$(HOME)/LIB
# No BLACS in serialMPI. But we need the fakempi.o
#BLACS=-lmpiblacs-gcc42 -L$(HOME)/LIB
EXTRA_COBJS=fakempi.o


#######################  Section 4 #######################
#  Other useful tools&defines                            #
##########################################################
#
#  The examples can make use of METIS from U. Minnesota. 
#  http://www.cs.umn.edu:~karypis
#  but it's optional
#  
#METIS_LIB = -L$(HOME)/NUMERICAL/metis-4.0 -lmetis 
PSBLDLIBS=$(BLACS) $(BLAS) $(METIS_LIB)

#  Add -DPtr64Bits if needed
PSBCDEFINES=-DLowerUnderscore 
#
PSBFDEFINES=-DHAVE_MOVE_ALLOC -DSERIAL_MPI  $(MPI_FINC)
# -DHAVE_METIS

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

CDEFINES=$(PSBCDEFINES)
FDEFINES=$(PSBFDEFINES)

$(.mod).o:
	
.c.o:
	$(CC) $(CCOPT) $(CINCLUDES) $(CDEFINES) -c $<
.f.o:
	$(FC) $(FCOPT) $(FINCLUDES)  -c $<
.f$(.mod):
	$(FC) $(FCOPT) $(FINCLUDES) -c $<
.f90$(.mod):
	$(F90) $(F90COPT) $(FINCLUDES) -c $<
.f90.o:
	$(F90) $(F90COPT) $(FINCLUDES) -c $<
.F.o:
	$(FC) $(FCOPT) $(FINCLUDES) $(FDEFINES) -c $<
.F90.o:
	$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
.F90$(.mod):
	$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<