SOURCES = miniMLParser.mly miniMLLexer.mll miniML.ml \
	miniMLReader.ml miniMLTyping.ml
A2PSOPTIONS = -2 -A fill -s tumble

all: miniMLReader.cmo miniMLLexer.cmo miniMLParser.cmo \
	miniMLTyping.cmo

%.mli %.ml : %.mly
	ocamlyacc $<

%.ml : %.mll
	ocamllex $<

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

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

depend:
	ocamldep $(SOURCES) > .depend

miniMLLexer.ml: miniMLLexer.mll
miniMLParser.ml: miniMLParser.mly

miniMLLexer.cmo: miniML.cmo miniMLParser.cmi
miniMLParser.cmo: miniML.cmo


clean:
	rm -f *.cm? miniMLLexer.ml miniMLParser.mli miniMLParser.ml

a2ps:
	a2ps $(A2PSOPTIONS) $(SOURCES) Makefile

miniMLReader.cmo: miniMLLexer.cmo miniMLParser.cmo 
miniMLReader.cmx: miniMLLexer.cmx miniMLParser.cmx 
miniMLInterp-full.cmo: miniML.cmo 
miniMLInterp-full.cmx: miniML.cmx 
miniMLTyping.cmo: miniML.cmo 
miniMLTyping.cmx: miniML.cmx 
