CMO=Bf.cmx Mu.cmx Sol.cmx parser.cmx lexer.cmx Auto.cmx main.cmx
GENERATED = lexer.ml parser.ml parser.mli
FLAGS=-annot
#OCAMLC=ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax -syntax camlp4o
OCAMLOPT=ocamlopt
all: solver

#./solver

.PHONY: tests
tests: solver
	bash run-tests

solver: $(CMO)
	$(OCAMLOPT) $(FLAGS) -o $@ $(CMO)

.SUFFIXES: .mli .ml .cmi .cmx .mll .mly

.mli.cmi:
	$(OCAMLOPT) $(FLAGS) -c  $<

.ml.cmx:
	$(OCAMLOPT) $(FLAGS) -c $<

.mll.ml:
	ocamllex $<

.mly.ml:
	menhir -v $<

.mly.mli:
	menhir -v $<

clean:
	rm -f *.cm[iox] *.o *.annot *~ solver $(GENERATED)
	rm -f parser.output parser.automaton

.depend depend:$(GENERATED)
	rm -f .depend
	ocamldep *.ml *.mli > .depend

include .depend


