TARFILES = Makefile testall.sh scanner.mll parser.mly ast.mli sast.mli symboltable.ml typecheck.ml fdl.ml \
	$(TESTS:%=tests/test-%.mc) \
        $(TESTS:%=tests/test-%.out)

OBJS = parser.cmo scanner.cmo symboltable.cmo typecheck.cmo fdl.cmo

calc : $(OBJS)
	ocamlc -o fdl $(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 $<

calculator.tar.gz : $(TARFILES)
	cd .. && tar zcf fdl/fdl.tar.gz $(TARFILES:%=fdl/%)

.PHONY : clean
clean :
	rm -f fdl parser.ml parser.mli scanner.ml *.cmo *.cmi *.txt

# Generated by ocamldep *.ml *.mli
typecheck.cmo: symboltable.cmo ast.cmi sast.cmi
typecheck.cmx: symboltable.cmx ast.cmx sast.cmx
parser.cmo: ast.cmi parser.cmi
parser.cmx: ast.cmi parser.cmi
scanner.cmo: parser.cmi
scanner.cmx: parser.cmx
parser.cmi: ast.cmi
