all:
	ocamllex lexerTerm.mll
	ocamlyacc parserTerm.mly
	ocamlopt -c terme.ml
	ocamlopt -c parserTerm.mli
	ocamlopt -c lexerTerm.ml
	ocamlopt -c parserTerm.ml
	ocamlopt -o evalBig parserTerm.cmx lexerTerm.cmx terme.cmx evalBig.ml
	ocamlopt -o evalBigEnv parserTerm.cmx lexerTerm.cmx terme.cmx evalBigEnv.ml
	ocamlopt -o evalSmall parserTerm.cmx lexerTerm.cmx terme.cmx evalSmall.ml
	ocamlopt -c instructions.ml
	ocamlopt -o compile parserTerm.cmx lexerTerm.cmx terme.cmx instructions.cmx compile.ml
	ocamllex lexerInstr.mll
	ocamlyacc parserInstr.mly
	ocamlopt -c parserInstr.mli
	ocamlopt -c lexerInstr.ml
	ocamlopt -c parserInstr.ml
	ocamlopt -o vm parserInstr.cmx lexerInstr.cmx instructions.cmx vm.ml

clean:
	rm -f lexerTerm.ml parserTerm.ml parserTerm.mli lexerInstr.ml parserInstr.ml parserInstr.mli *.cmo *.cmi *.cmx *.o vm compile evalBig evalBigEnv evalSmall *.asm
