CAMLC=camlc
CAMLLEX=camllex
CAMLYACC=camlyacc
CAMLDEP=camldep

#L'ordre des fichiers zo importe pour lédition de liens !
fichierszo = print.zo aintv.zo compile.zo verif.zo prog.zo lexervhc.zo parservhc.zo graphe.zo typage.zo ci.zo analyse.zo

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

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

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

%.ml : %.mll
	$(CAMLLEX) $<

%.ml %.mli : %.mly
	$(CAMLYACC) $<

.PHONY : clean
.DELETE_ON_ERROR:

compilateur : $(fichierszo) runvhc.ml
	$(CAMLC) -o compilateur $(fichierszo) runvhc.ml

clean :
	-rm *.z[io]* compilateur parservhc.ml parservhc.mli lexervhc.ml

.depend : *.ml *.mli lexervhc.ml parservhc.ml parservhc.mli
	$(CAMLDEP) $^ > .depend

include .depend
