CAMLC=camlc
CAMLYACC=camlyacc
CAMLLEX=camllex

calc.exe: lexer.zo parser.zo calc.zo
	$(CAMLC) -o calc.exe lexer.zo parser.zo calc.zo

clean scratch:
	del calc.exe
	del lexer.ml
	del parser.ml
	del parser.mli
	del *.zi
	del *.zo

lexer.ml: lexer.mll
	$(CAMLLEX) lexer.mll

parser.mli parser.ml: parser.mly
	$(CAMLYACC) parser.mly

lexer.zo: parser.zi
calc.zo: lexer.zo parser.zi

.mli.zi:
	$(CAMLC) -c $<

.ml.zo:
	$(CAMLC) -c $<

