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

.SUFFIXES: $(.SUFFIXES) .tst .out

TESTS = deriv.tst fact.tst hanoi.tst iotest.tst kkqueen.tst \
	life.tst mastermind.tst merge.tst parsetest.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 iotest kkqueen \
	life mastermind merge parsetest \
	pascal pp primes primesp prio \
	puzzle qlay qsort turtles \
	vecstr wave

tests:	klicdb.init $(TESTS)

klicdb.init:
	cp -p ../runtime/klic.db klicdb.init

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

%.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
parsetest: parsetest.kl1 $(KLICSYS)
	$(KLIC) -o parsetest parsetest.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 klicdb.init \
		parsetest-work* *~ core

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

realclean: distclean
