#*=====================================================================*/
#*    serrano/ml/camloo/benchmarks/Makefile ...                        */
#*    -------------------------------------------------------------    */
#*    Author      :  Manuel Serrano                                    */
#*    Creation    :  Thu May 26 10:07:50 1994                          */
#*    Last change :  Tue Jun  7 10:34:48 1994 (serrano)                */
#*    -------------------------------------------------------------    */
#*    The makefile for the Benchmarks programs                         */
#*=====================================================================*/

BIGLOO	= bigloo
BFLAGS	= -unsafe -v -O3 -copt "-fomit-frame-pointer -O2"

all: ffib/a.out life/a.out queens/a.out quicksort/a.out takc/a.out taku/a.out boyer/a.out kb/a.out
	@-\rm -f PERFS
	@-echo "---------------------------" > PERFS
	@-date >> PERFS
	@-uname -a >> PERFS
	@-bigloo -query >> PERFS
	@-echo "---------------------------" >> PERFS

	@ echo "ffib: "
	@ echo "ffib: " >> PERFS
	@ ffib/a.out
	@ time 'ffib/a.out' 1>/dev/null 2>> PERFS

	@ echo "life: "
	@ echo "life: " >> PERFS
	@ life/a.out 
	@ time 'life/a.out' 1>/dev/null 2>> PERFS

	@ echo "queens: "
	@ echo "queens: " >> PERFS
	@ queens/a.out
	@ time 'queens/a.out' 1>/dev/null 2>> PERFS

	@ echo "quicksort: "
	@ echo "quicksort: " >> PERFS
	@ quicksort/a.out
	@ time 'quicksort/a.out' 1>/dev/null 2>> PERFS

	@ echo "takc: " 
	@ echo "takc: " >> PERFS
	@ takc/a.out 
	@ time 'takc/a.out' 1>/dev/null 2>> PERFS

	@ echo "taku: " 
	@ echo "taku: " >> PERFS
	@ taku/a.out 
	@ time 'taku/a.out' 1>/dev/null 2>> PERFS

	@ echo "boyer: "
	@ echo "boyer: " >> PERFS
	@ boyer/bigloo/a.out 
	@ time 'boyer/bigloo/a.out' 1>/dev/null 2>> PERFS

	@ echo "kb: " 
	@ echo "kb: " >> PERFS
	@ kb/a.out 
	@ time 'kb/a.out' 1>/dev/null 2>> PERFS

	@-echo "---------------------------" >> PERFS
	

ffib/a.out: ffib/ffib.ml
	$(BIGLOO) $(BFLAGS) ffib/ffib.ml -o ffib/a.out

life/a.out: life/life.ml
	$(BIGLOO) $(BFLAGS) life/life.ml -o life/a.out

queens/a.out: queens/queens.ml
	$(BIGLOO) $(BFLAGS) queens/queens.ml -o queens/a.out

quicksort/a.out: quicksort/quicksort.ml
	$(BIGLOO) $(BFLAGS) quicksort/quicksort.ml -o quicksort/a.out

takc/a.out: takc/takc.ml
	$(BIGLOO) $(BFLAGS) takc/takc.ml -o takc/a.out

taku/a.out: taku/taku.ml
	$(BIGLOO) $(BFLAGS) taku/taku.ml -o taku/a.out
	
boyer/a.out: 
	(cd boyer/bigloo; make)

kb/a.out: kb/kb.ml
	$(BIGLOO) $(BFLAGS) kb/kb.ml -o kb/a.out


