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


lNPB =		BT.all  LU.all  SP.all
lall =		$(lNPB) PSTSWM.all

BT     bt:	BT.all
LU     lu:	LU.all
SP     sp:	SP.all
PSTSWM pstswm:	PSTSWM.all

#lseq = 	$(lall:.all=.seq) 
lpvm = 		$(lall:.all=.pvm)
lmpi = 		$(lall:.all=.mpi)
 
lallcl = 	$(lall:.all=.cl)
lallclo = 	$(lall:.all=.clo)

echo:
	@- echo ': ' 
	@- echo 'lall:        ' $(lall)
	@- echo 'lseq:        ' $(lseq)
	@- echo 'lpvm:        ' $(lpvm)
	@- echo 'lmpi:        ' $(lmpi)
	@- echo 'lNPB:        ' $(lNPB)
	@- echo 'lallcl:      ' $(lallcl)
	@- echo 'lallclo:     ' $(lallclo)
	@- echo ': ' 

###  Targets  ###
all:	$(lall) 
seq:	$(lseq)
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  ###
CLASS=S
NPROCS=1
$(lall): 	make.def
	@ echo "building in $(@:.all=)" 
	-  cd $(@:.all=); make NPROCS=$(NPROCS) CLASS=$(CLASS)
	@ 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=)"



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

clobber:	clean
#clobber: $(lallclo)
#$(lallclo):
#	- cd $(@:.clo=) ; make clobber

