#
# Makefile.in for LINPACK benchmark in MPI - P.V.Bangalore (puri@cs.msstate.edu)
#

MPI_INC_DIR   = @MPI_INC_DIR@

MPI_LIB_DIR   = @MPI_LIB_DIR@
MPI_LIB_NAME  = @MPI_LIB_NAME@

BLAS_LIB_DIR  = @BLAS_LIB_DIR@
BLAS_LIB_NAME = @BLAS_LIB_NAME@

CC            = @CC@
F77           = @F77@

LIB_DIRS      = -L$(MPI_LIB_DIR)  -L$(BLAS_LIB_DIR)   
LIBS          = -l$(MPI_LIB_NAME) -l$(BLAS_LIB_NAME)
CFLAGS        = -I$(MPI_INC_DIR)
F77FLAGS      = -I$(MPI_INC_DIR)  # Some f77 compilers don't understand -I
                                  #   so the mpif.h file might need to be
                                  #   copied (or linked) to the current dir

#
#
#

FSRCS =  \
bcast.f \
dlacpy.f \
main.f \
maxloc.f \
mpi_init.f \
mypart.f \
mysubmatrix.f \
pddgeres.f \
pdforback.f \
pdgemv.f \
pdltsv.f \
pdlu.f \
pdlub.f \
pdrhsswap.f \
pdtrsv.f \
pdutsv.f \
pdvredistr.f \
plamch2.f \
recv.f \
send.f \
swap.f 

CSRCS = random.c

MOBJS       =  $(FSRCS:.f=.o) $(CSRCS:.c=.o)

EXECS       = main 

.SUFFIXES: .o .c .f

main:   $(MOBJS)
	$(F77) -o $@ $(MOBJS) $(LIB_DIRS) $(LIBS)

.c.o: 	%.c 
	$(CC) $(CFLAGS) -c $*.c

.f.o: 	%.f 
	$(F77) $(F77FLAGS) -c $*.f

clean:
	/bin/rm -f *.o *~ $(EXECS)


