#####################################################################
#                                                                   #
# PARKBENCH Version 2.0                                             #
#                                                                   #
# November 10, 1995                                                 #
#                                                                   #
# University of Tennesee, Knoxville                                 #
# University of Southampton, United Kingdom                         #
#                                                                   #
#####################################################################
make.def =  ../../conf/make.def
include $(make.def)

SHELL	=	/bin/sh

default:	all


llib = $(ParkBench_lib)
llib_pvm = $(ParkBench_pvm_lib)
llib_mpi = $(ParkBench_mpi_lib)



## Defines a list of all target files ##
lobj = 		\
ADDLEN.o 	\
CHECK.o 	\
DCOPY.o 	\
DUMMY.o 	\
ESTOV.o 	\
GETLEN.o 	\
GETOPT.o 	\
HEADER.o	\
INLIST.o 	\
INSERT.o 	\
LSTSQ.o		\
SATIME.o	\
TOVER.o

pvmobj = 	\
time.o		\
launch.o

mpiobj = 	\
time_mpi.o

.c.o:
	$(CC) -c $(FPVM_INC) $(CFLAGS)  $<

.f.o:
	$(F77) -c $(FPVM_INC) $(FFLAGS)  $<


launch.o:	dattyp.inc fpvm3.h
	$(F77_PVM) -c $(FPVM_INC) $(FFLAGS)  $(@:.o=.f)

$(mpiobj):	dattyp.inc mpif.h
	$(F77_MPI) -c $(FMPI_INC) $(FFLAGS)  $(@:.o=.f)



### List of all include files in other directories  ###
linclude = dattyp.inc fpvm3.h mpif.h


###  Link to all includes.  ###
###  Unfortunately -I is not portable, so we use links  ###
dattyp.inc:	$(make.def)
	- rm -f dattyp.inc
	- ln -s $(ParkBench_incdir)/dattyp.inc dattyp.inc

fpvm3.h:
	- rm -f fpvm3.h
	- ln -s $(PVM_INCDIR)/fpvm3.h fpvm3.h

mpif.h:
	- rm -f mpif.h
	- ln -s $(MPI_INCDIR)/mpif.h mpif.h



###  Major targets for build  ###
$(pvmobj):	dattyp.inc
$(mpiobj):	dattyp.inc
$(lobj):	$(make.def)

lib lib.seq seq:	$(llib) $(lobj)
lib.pvm pvm:	$(llib_pvm)  $(lobj) $(pvmobj)
lib.mpi mpi:	$(llib_mpi)  $(lobj) $(mpiobj)
obj:	$(lobj)  $(pvmobj)  $(mpiobj)

all:	$(linclude) obj lib lib.pvm lib.mpi



###  The Libs  ###
$(llib): $(lobj)  time.o
	$(ARCH) $(ARCHFLAGS) $@ $(lobj) time.o
	$(RANLIB) $@

$(llib_pvm): $(lobj)  $(pvmobj)
	$(ARCH) $(ARCHFLAGS) $@ $(lobj) $(pvmobj)
	$(RANLIB) $@

$(llib_mpi): $(lobj)  $(mpiobj)
	$(ARCH) $(ARCHFLAGS) $@ $(lobj) $(mpiobj)
	$(RANLIB) $@



###  Cleanup  ###
clean:
	- rm -f *~ $(lobj) $(pvmobj) $(mpiobj) $(linclude)

clobber: clean
