OPTI=ast.cmo parser.cmo lexer.cmo randomtest.cmo results.cmo misc.cmo \ env.cmo cond.cmo stmt.cmo simplif.cmo \ syntax.cmo cout.cmo opt_tmp.cmo optimize_local.cmo \ remove_case.cmo cuoq_schmitt.cmo \ iset.cmo econd.cmo xlsimplif.cmo \ clauses.cmo tree.cmo synthmain.cmo \ opti.cmo EQUIV=ast.cmo parser.cmo lexer.cmo equiv.cmo opti.opt: $(OPTI:.cmo=.cmx) ocamlopt -ccopt -static -o opti.opt unix.cmxa $(OPTI:.cmo=.cmx) -cclib -lunix opti: $(OPTI) ocamlc -custom -o opti unix.cma $(OPTI) -cclib -lunix equiv: $(EQUIV) ocamlc -o equiv $(EQUIV) equiv.opt: $(EQUIV:.cmo=.cmx) ocamlopt -o equiv $(EQUIV:.cmo=.cmx) parser.mli parser.ml: parser.mly ocamlyacc -v parser.mly lexer.ml: lexer.mll ocamllex lexer.mll clean: rm -f opti equiv *.cm? lexer.ml parser.ml parser.mli parser.output .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: ocamlc -c $*.ml .ml.cmx: ocamlopt -c $*.ml .mli.cmi: ocamlc -c $*.mli TESTOPTS= test: cd tests; for i in *.s; do \ echo "*** $$i"; \ ../opti.opt $(TESTOPTS) < $$i > $$i.opt; \ ./eval $$i $$i.opt; \ done depend: parser.mli parser.ml lexer.ml ocamldep *.ml *.mli > .depend include .depend