# MAKEFILE engendre par creemake

.SUFFIXES: .cmo .cmi .cmx .ml .mli

CAMLC=ocamlc -w A
CAMLLIBR=ocamlc -a
CAMLCOPT=ocamlopt 
CAMLLIBROPT=ocamlopt -a

CAMLYACC=ocamlyacc
CAMLLEX=ocamllex
MODULES=form.cmo formsyn.cmo formlex.cmo formanalyse.cmo main.cmo 

MODULES_OPT=form.cmx formsyn.cmx formlex.cmx formanalyse.cmx main.cmx 

all: main main.ps

main: $(MODULES) main.cmo
	# pour caml version unix
	$(CAMLC) -g -o main $(MODULES) -cclib ""

main.opt: $(MODULES_OPT) main.cmx
	# pour camlopt version unix
	$(CAMLCOPT)  -o main.opt $(MODULES_OPT)

.mli.cmi:
	$(CAMLC) -g -c $<

.ml.cmo:
	$(CAMLC) -g -c $<

.ml.cmx:
	$(CAMLCOPT) -c $<

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

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

main.tex: main.ml
	ocamlweb --no-index -o main.tex main.ml

include rules.mk

clean::
	rm -f *.cmi
	rm -f *.cmo
	rm -f main
	rm -f *.cmx
	rm -f *.o
	rm -f main.opt

	rm -f formsyn.mli
	rm -f formsyn.ml
	rm -f formlex.ml



# graphe de dependances
main.cmo: main.ml formanalyse.cmi form.cmi
formanalyse.cmi: formanalyse.mli form.cmi
formanalyse.cmx: formanalyse.ml formanalyse.cmi formlex.cmi formsyn.cmi form.cmi
formanalyse.cmo: formanalyse.ml formanalyse.cmi formlex.cmi formsyn.cmi form.cmi
formlex.cmi: formlex.mli formsyn.cmi
formlex.cmo: formlex.ml formlex.cmi formsyn.cmi
formlex.cmx: formlex.ml formlex.cmi formsyn.cmi
formsyn.cmi: formsyn.mli form.cmi
formsyn.cmo: formsyn.ml formsyn.cmi form.cmi
formsyn.cmx: formsyn.ml formsyn.cmi form.cmi
form.cmi: form.mli
form.cmx: form.ml form.cmi
form.cmo: form.ml form.cmi
