OBJS = parser.cmo scanner.cmo semantic_analyzer.cmo ast.cmo sast.cmo cast.cmo codegen.cmo pretty_print.cmo

# TARFILES = Makefile scanner.mll parser.mly \
# 	$(TESTS:%=tests/test-%.mc) \
# 	$(TESTS:%=tests/test-%.out)


run : $(OBJS)
	ocamlc -o run str.cma $(OBJS)

scanner.ml : scanner.mll
	ocamllex scanner.mll

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

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

%.cmi : %.mli
	ocamlc -c $<

.PHONY : clean
clean :
	rm -f test/*.c test/*Out.txt test/test_results.txt test/errors.txt
	rm -f parser.ml parser.mli scanner.ml
	rm -f test/tree/test_results.txt
	rm -f *.cmo *.cmi *.out *.diff run
	rm -rf *.dSYM
# Generated by ocamldep *.ml *.mli
semantic_analyzer.cmo : sast.cmo ast.cmo
semantic_analyzer.cmx : sast.cmx ast.cmx
code_gen.cmo : sast.cmo
code_gen.cmx : sast.cmx
parser.cmo : ast.cmo parser.cmi
parser.cmx : ast.cmx parser.cmi
run.cmo : scanner.cmo sast.cmo parser.cmi codegen.cmo ast.cmo semantic_analyzer.cmo
run.cmx : scanner.cmx sast.cmx parser.cmx codegen.cmx ast.cmx semantic_analyzer.cmx
sast.cmo : ast.cmo
sast.cmx : ast.cmx
scanner.cmo : parser.cmi
scanner.cmx : parser.cmx
parser.cmi : ast.cmo


