1995-07-19 12:38:48 -07:00
|
|
|
CAMLC=../boot/camlrun ../camlc -I ../stdlib -I KB -I Lex
|
|
|
|
CAMLOPT=../boot/camlrun ../camlopt -I ../stdlib -I KB -I Lex
|
|
|
|
OPTFLAGS=-S
|
1995-05-04 03:15:53 -07:00
|
|
|
CAMLYACC=../yacc/camlyacc
|
|
|
|
CAMLLEX=../boot/camlrun ../lex/camllex
|
|
|
|
CAMLDEP=../tools/camldep
|
1995-06-18 07:46:16 -07:00
|
|
|
CAMLRUN=../byterun/camlrun
|
1995-07-24 05:47:53 -07:00
|
|
|
CODERUNPARAMS=CAMLRUNPARAM='o=100'
|
1995-05-04 03:15:53 -07:00
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
BYTE_EXE=fib.byt takc.byt taku.byt sieve.byt quicksort.byt quicksort.fast.byt \
|
|
|
|
fft.byt fft.fast.byt soli.byt soli.fast.byt boyer.byt kb.byt \
|
|
|
|
nucleic.byt genlex.byt
|
1995-05-04 03:15:53 -07:00
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
CODE_EXE=$(BYTE_EXE:.byt=.out)
|
|
|
|
|
|
|
|
all: $(BYTE_EXE) $(CODE_EXE)
|
1995-05-04 03:15:53 -07:00
|
|
|
|
|
|
|
# KB
|
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
BYTE_KB=KB/terms.cmo KB/equations.cmo KB/kb.cmo KB/orderings.cmo KB/kbmain.cmo
|
|
|
|
CODE_KB=$(BYTE_KB:.cmo=.cmx)
|
1995-05-04 03:15:53 -07:00
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
kb.byt: $(BYTE_KB)
|
|
|
|
$(CAMLC) -I KB $(BYTE_KB) -o kb.byt
|
|
|
|
kb.out: $(CODE_KB)
|
|
|
|
$(CAMLOPT) $(OPTFLAGS) -I KB $(CODE_KB) -o kb.out
|
1995-05-04 03:15:53 -07:00
|
|
|
|
|
|
|
clean::
|
1995-07-19 12:38:48 -07:00
|
|
|
rm -f KB/*.cm[iox] KB/*.[os]
|
1995-05-04 03:15:53 -07:00
|
|
|
rm -f KB/*~
|
|
|
|
|
|
|
|
# Genlex
|
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
BYTE_GENLEX=Lex/syntax.cmo Lex/scan_aux.cmo Lex/scanner.cmo Lex/gram_aux.cmo \
|
|
|
|
Lex/grammar.cmo Lex/lexgen.cmo Lex/output.cmo Lex/main.cmo
|
|
|
|
CODE_GENLEX=$(BYTE_GENLEX:.cmo=.cmx)
|
1995-05-04 03:15:53 -07:00
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
genlex.byt: $(BYTE_GENLEX)
|
|
|
|
$(CAMLC) -I Lex $(BYTE_GENLEX) -o genlex.byt
|
|
|
|
genlex.out: $(CODE_GENLEX)
|
|
|
|
$(CAMLOPT) $(OPTFLAGS) -I Lex $(CODE_GENLEX) -o genlex.out
|
1995-05-04 03:15:53 -07:00
|
|
|
|
|
|
|
clean::
|
1995-07-19 12:38:48 -07:00
|
|
|
rm -f Lex/*.cm[iox] Lex/*.[os]
|
1995-05-04 03:15:53 -07:00
|
|
|
rm -f Lex/*~
|
|
|
|
|
1995-06-18 07:46:16 -07:00
|
|
|
Lex/grammar.ml Lex/grammar.mli: Lex/grammar.mly
|
1995-05-04 03:15:53 -07:00
|
|
|
$(CAMLYACC) $(YACCFLAGS) Lex/grammar.mly
|
|
|
|
|
|
|
|
clean::
|
|
|
|
rm -f Lex/grammar.ml Lex/grammar.mli
|
1995-07-19 12:38:48 -07:00
|
|
|
beforedepend:: Lex/grammar.ml Lex/grammar.mli
|
1995-05-04 03:15:53 -07:00
|
|
|
|
1995-06-18 07:46:16 -07:00
|
|
|
Lex/scanner.ml: Lex/scanner.mll
|
1995-05-04 03:15:53 -07:00
|
|
|
$(CAMLLEX) Lex/scanner.mll
|
|
|
|
|
|
|
|
clean::
|
|
|
|
rm -f Lex/scanner.ml
|
1995-07-19 12:38:48 -07:00
|
|
|
beforedepend:: Lex/scanner.ml
|
1995-05-04 03:15:53 -07:00
|
|
|
|
|
|
|
# Common rules
|
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
.SUFFIXES:
|
|
|
|
.SUFFIXES: .mli .ml .cmi .cmo .cmx .byt .fast.byt .out .fast.out
|
|
|
|
|
|
|
|
.ml.byt:
|
|
|
|
$(CAMLC) -o $*.byt $<
|
|
|
|
|
|
|
|
.ml.fast.byt:
|
|
|
|
cp $*.ml $*.fast.ml
|
|
|
|
$(CAMLC) -fast -o $*.fast.byt $*.fast.ml
|
|
|
|
rm -f $*.fast.ml
|
1995-05-04 03:15:53 -07:00
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
.ml.out:
|
|
|
|
$(CAMLOPT) $(OPTFLAGS) -o $*.out $<
|
1995-05-04 03:15:53 -07:00
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
.ml.fast.out:
|
|
|
|
cp $*.ml $*.fast.ml
|
|
|
|
$(CAMLOPT) $(OPTFLAGS) -fast -o $*.fast.out $*.fast.ml
|
|
|
|
rm -f $*.fast.ml
|
1995-05-04 03:15:53 -07:00
|
|
|
|
|
|
|
.mli.cmi:
|
|
|
|
$(CAMLC) -c $<
|
|
|
|
|
|
|
|
.ml.cmo:
|
|
|
|
$(CAMLC) -c $<
|
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
.ml.cmx:
|
|
|
|
$(CAMLOPT) $(OPTFLAGS) -c $<
|
|
|
|
|
|
|
|
$(BYTE_EXE) $(BYTE_KB) $(BYTE_GENLEX): ../camlc
|
|
|
|
$(BYTE_EXE): ../stdlib/stdlib.cma
|
|
|
|
$(CODE_EXE) $(CODE_KB) $(CODE_GENLEX): ../camlopt
|
1995-07-20 01:30:16 -07:00
|
|
|
$(CODE_EXE): ../stdlib/stdlib.cmxa ../stdlib/libasmrun.a
|
1995-05-04 03:15:53 -07:00
|
|
|
|
|
|
|
clean::
|
1995-07-19 12:38:48 -07:00
|
|
|
rm -f *.byt *.out
|
|
|
|
rm -f *.cm[iox] *.[os]
|
1995-05-04 03:15:53 -07:00
|
|
|
rm -f *~
|
|
|
|
|
|
|
|
# Regression test
|
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
test: codetest
|
|
|
|
|
|
|
|
bytetest:
|
|
|
|
set -e; \
|
|
|
|
for prog in $(BYTE_EXE:.byt=); do \
|
|
|
|
echo $$prog; \
|
|
|
|
if test -f Results/$$prog.runtest; then \
|
|
|
|
sh Results/$$prog.runtest test $(CAMLRUN) $$prog.byt; \
|
|
|
|
elif test -f Results/$$prog.out; then \
|
|
|
|
$(CAMLRUN) $$prog.byt | cmp - Results/$$prog.out; \
|
|
|
|
fi; \
|
|
|
|
done
|
|
|
|
|
|
|
|
codetest:
|
1995-05-04 03:15:53 -07:00
|
|
|
set -e; \
|
1995-07-19 12:38:48 -07:00
|
|
|
for prog in $(CODE_EXE:.out=); do \
|
1995-05-04 03:15:53 -07:00
|
|
|
echo $$prog; \
|
|
|
|
if test -f Results/$$prog.runtest; then \
|
1995-07-19 12:38:48 -07:00
|
|
|
sh Results/$$prog.runtest test $$prog.out; \
|
1995-05-04 03:15:53 -07:00
|
|
|
elif test -f Results/$$prog.out; then \
|
1995-07-19 12:38:48 -07:00
|
|
|
$$prog.out | cmp - Results/$$prog.out; \
|
1995-05-04 03:15:53 -07:00
|
|
|
fi; \
|
|
|
|
done
|
|
|
|
|
|
|
|
clean::
|
|
|
|
rm -f Lex/testscanner.ml
|
|
|
|
|
|
|
|
# Benchmark
|
|
|
|
|
1995-07-19 12:38:48 -07:00
|
|
|
bench: codebench
|
|
|
|
|
|
|
|
bytebench:
|
1995-05-04 03:15:53 -07:00
|
|
|
set -e; \
|
1995-07-19 12:38:48 -07:00
|
|
|
for prog in $(BYTE_EXE:.byt=); do \
|
|
|
|
echo -n "$$prog "; \
|
|
|
|
if test -f Results/$$prog.runtest; then \
|
1995-07-24 05:47:53 -07:00
|
|
|
sh Results/$$prog.runtest bench $(CAMLRUN) $$prog.byt; \
|
1995-07-19 12:38:48 -07:00
|
|
|
else \
|
|
|
|
xtime -o /dev/null -e /dev/null $(CAMLRUN) $$prog.byt; \
|
|
|
|
fi; \
|
|
|
|
done
|
|
|
|
|
|
|
|
codebench:
|
|
|
|
set -e; \
|
|
|
|
for prog in $(CODE_EXE:.out=); do \
|
|
|
|
echo -n "$$prog "; \
|
1995-05-04 03:15:53 -07:00
|
|
|
if test -f Results/$$prog.runtest; then \
|
1995-07-24 05:47:53 -07:00
|
|
|
$(CODERUNPARAMS) sh Results/$$prog.runtest bench $$prog.out; \
|
1995-05-04 03:15:53 -07:00
|
|
|
else \
|
1995-07-24 05:47:53 -07:00
|
|
|
$(CODERUNPARAMS) xtime -repeat 3 -o /dev/null -e /dev/null $$prog.out; \
|
1995-05-04 03:15:53 -07:00
|
|
|
fi; \
|
|
|
|
done
|
1995-07-19 12:38:48 -07:00
|
|
|
|
|
|
|
# Dependencies
|
|
|
|
|
|
|
|
depend: beforedepend
|
|
|
|
$(CAMLDEP) -I KB -I Lex *.mli *.ml KB/*.mli KB/*.ml Lex/*.mli Lex/*.ml > .depend
|
|
|
|
|
|
|
|
include .depend
|
|
|
|
|