OBJS =  ast.cmo parser.cmo scanner.cmo environment.cmo \
	generator_utilities.cmo generator.cmo 

generator : $(OBJS)
	ocamlc -o generator $(OBJS)

scanner.ml : scanner.mll
	ocamllex scanner.mll

parser.cmi : parser.mli
	ocamlc -c parser.mli

parser.ml parser.mli : parser.mly
	ocamlyacc parser.mly

%.cmo : %.ml
	ocamlc -w A -c $<

%.cmi : %.mlix
	ocamlc -w A -c $<

.PHONY : test
test : generator
	cd ./environment_tests && ./run_all.sh

.PHONY : clean
clean :
	rm -f parser.ml parser.mli scanner.ml \
	*.cmo *.cmi *.out *.diff generator

# Generated by ocamldep *.ml *.mli
ast.cmo :
ast.cmx :
environment.cmo : ast.cmo
environment.cmx : ast.cmx
generator.cmo : parser.cmi generator_utilities.cmo environment.cmo ast.cmo
generator.cmx : parser.cmx generator_utilities.cmx environment.cmx ast.cmx
generator_utilities.cmo : environment.cmo ast.cmo
generator_utilities.cmx : environment.cmx ast.cmx
parser.cmo : ast.cmo parser.cmi
parser.cmx : ast.cmx parser.cmi
parser.cmi : ast.cmo
