# ---------------------------------------------------------- 
#   (C)1993 Institute for New Generation Computer Technology 
#       (Read COPYRIGHT for detailed information.) 
# ----------------------------------------------------------
KLIC = ../compiler/klic -v -K../compiler/kl1cmp -D../compiler/klicdb \
	-X../runtime -I../include -L../runtime -g
KLICSYS = ../compiler/klic ../compiler/kl1cmp ../compiler/klicdb \
	../include/klic/* ../runtime/libklic.a

.SUFFIXES: .tst .out .kl1

TESTS = deriv.tst fact.tst hanoi.tst iotest.tst kkqueen.tst \
	life.tst mastermind.tst merge.tst \
	pascal.tst pp.tst primes.tst primesp.tst prio.tst \
	puzzle.tst qlay.tst qsort.tst turtles.tst \
	vecstr.tst wave.tst
TESTPROGS = \
	deriv fact hanoi kkqueen iotest life mastermind merge \
	pascal pp primes primesp prio puzzle qlay qsort turtles \
	vecstr wave

tests:	klic.db $(TESTS)

klic.db:
	cp ../runtime/klic.db .

%.tst:	%.out
	cmp $*.out $*.out.cmp

life.out: life
	./life -h 256k >life.out
pp.out:	pp
	./pp -h 256k >pp.out
vecstr.out: vecstr
	./vecstr -h32k >vecstr.out
wave.out: wave
	./wave -h 32k >wave.out
%.out: %
	./$* >$*.out

deriv:	deriv.kl1 $(KLICSYS)
	$(KLIC) -o deriv deriv.kl1
fact:	fact.kl1 $(KLICSYS)
	$(KLIC) -o fact fact.kl1
hanoi:	hanoi.kl1 $(KLICSYS)
	$(KLIC) -o hanoi hanoi.kl1
kkqueen: kkqueen.kl1 $(KLICSYS)
	$(KLIC) -o kkqueen kkqueen.kl1
iotest:	iotest.kl1 $(KLICSYS)
	$(KLIC) -o iotest iotest.kl1
life:	life.kl1 $(KLICSYS)
	$(KLIC) -o life life.kl1
mastermind: mastermind.kl1 $(KLICSYS)
	$(KLIC) -o mastermind mastermind.kl1
merge: merge.kl1 $(KLICSYS)
	$(KLIC) -o merge merge.kl1
pascal:	pascal.kl1 $(KLICSYS)
	$(KLIC) -o pascal pascal.kl1
pp:	pp.kl1 $(KLICSYS)
	$(KLIC) -o pp pp.kl1
primes:	primes.kl1 $(KLICSYS)
	$(KLIC) -o primes primes.kl1
primesp: primesp.kl1 $(KLICSYS)
	$(KLIC) -o primesp primesp.kl1
prio:	prio.kl1 $(KLICSYS)
	$(KLIC) -o prio prio.kl1
puzzle:	puzzle.kl1 $(KLICSYS)
	$(KLIC) -o puzzle puzzle.kl1
qlay:	qlay.kl1 $(KLICSYS)
	$(KLIC) -o qlay qlay.kl1
qsort:	qsort.kl1 $(KLICSYS)
	$(KLIC) -o qsort qsort.kl1
turtles:	turtles.kl1 $(KLICSYS)
	$(KLIC) -o turtles turtles.kl1
vecstr:	vecstr.kl1 $(KLICSYS)
	$(KLIC) -o vecstr vecstr.kl1
wave:	wave.kl1 $(KLICSYS)
	$(KLIC) -o wave wave.kl1

iotest.out.cmp: iotest.kl1
	cp iotest.kl1 iotest.out.cmp

clean:
	/bin/rm -f *.c *.ext *.h *.o klic.db *~ core

distclean: clean
	/bin/rm -f $(TESTPROGS) *.out
