#####################################################################
#                                                                   #
# 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

lsequential = 	poly1.all poly2.all rinf1.all tick1.all tick2.all
lparallel =	comms1.all comms2.all comms3.all poly3.all synch1.all 
lpvm = 		$(lparallel:.all=.pvm) 
lmpi = 		$(lparallel:.all=.mpi) 
lall = 		$(lsequential) $(lparallel)
lallcl = 	$(lall:.all=.cl)
lallclo = 	$(lall:.all=.clo)


default:	all

echo:
	@- echo ': ' 
	@- echo 'lall:        ' $(lall)
	@- echo 'lsequential: ' $(lsequential)
	@- echo 'lparallel:   ' $(lparallel)
	@- echo 'lpvm:        ' $(lpvm)
	@- echo 'lmpi:        ' $(lmpi)
	@- echo 'lallcl:      ' $(lallcl)
	@- echo 'lallclo:     ' $(lallclo)
	@- echo ': ' 

poly1:		poly1.all
poly2:		poly2.all
rinf1:		rinf1.all
tick1:		tick1.all
tick2:		tick2.all
comms1:		comms1.all
comms2:		comms2.all
comms3:		comms3.all
poly3:		poly3.all
synch1:		synch1.all

###  Major targets for build  ###

all:	$(lall) 
seq:	$(lsequential)
pvm:	$(lpvm) 
mpi:	$(lmpi) 



###  prepares environment for the actual make. Has to run every time  ###
make.def: ../conf/make.def
	cd $(ParkBench_home); make conf



## Declares how to make single codes  ##
$(lall): 	make.def
	@ echo "building in $(@:.all=)" 
	-  cd $(@:.all=); make 
	@ echo "done building in $(@:.all=)"

$(lpvm): 	make.def
	@ echo "building in $(@:.pvm=)" 
	-  cd $(@:.pvm=); make pvm 
	@ echo "done building in $(@:.pvm=)"

$(lmpi): 	make.def
	@ echo "building in $(@:.mpi=)" 
	-  cd $(@:.mpi=); make mpi 
	@ echo "done building in $(@:.mpi=)"



###  Cleanup  ###
clean: $(lallcl)
	- rm -f *~
$(lallcl):
	- cd $(@:.cl=) ; make clean

clobber: $(lallclo)
	- rm -f *~
$(lallclo):
	- cd $(@:.clo=) ; make clobber

