OBJS = parser.cmo scanner.cmo scanner_test.cmo parser_test.cmo translate.cmo translate_test.cmo compile.cmo MDraw.cmo

taml : $(OBJS)
	ocamlc -o ../MDraw $(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 scanner.ml scanner.mli scanner_test.mli \
	parser.ml parser.mli parser_test.mli translate.mli \
	translate_test.mli compile.mli MDraw.mli \
	test_results.out \
	*.cmo *.cmi *.out *.diff *.annot

# Generated by ocamldep *.ml *.mli
jpp.cmo:  ast.cmi
jpp.cmx:  ast.cmi
parser.cmo: ast.cmi parser.cmi
parser.cmx: ast.cmi parser.cmi
parser_utils.cmo:  ast.cmi
parser_utils.cmx:  ast.cmi
scanner.cmo: parser.cmi
scanner.cmx: parser.cmx
scanner_test.cmo: scanner.cmo parser.cmi
scanner_test.cmx: scanner.cmx parser.cmx
semantic_check.cmo:  ast.cmi
semantic_check.cmx:  ast.cmi
MDraw.cmo: translate_test.cmo translate.cmo scanner_test.cmo scanner.cmo \
    parser_test.cmo parser.cmi compile.cmo
MDraw.cmx: translate_test.cmx translate.cmx scanner_test.cmx scanner.cmx \
    parser_test.cmx parser.cmx compile.cmx
translate.cmo: sast.cmi ast.cmi
translate.cmx: sast.cmi ast.cmi
translate_test.cmo: sast.cmi ast.cmi
translate_test.cmx: sast.cmi ast.cmi
ast.cmi:
parser.cmi: ast.cmi
sast.cmi: ast.cmi
