+include ../../../Makefile.defs
+
H=@
REQUIRES = unix str helm-grafite_parser
-MLS = types.ml v8Parser.ml v8Lexer.ml grafite.ml engine.ml top.ml
-MLIS = v8Parser.mli grafite.mli engine.mli
-CLEAN = v8Parser.ml v8Parser.mli v8Lexer.ml
+MLS = types.ml options.ml \
+ gallina8Parser.ml gallina8Lexer.ml \
+ grafiteParser.ml grafiteLexer.ml \
+ grafite.ml engine.ml top.ml
+MLIS = gallina8Parser.mli grafiteParser.mli grafite.mli engine.mli
+CLEAN = gallina8Parser.ml gallina8Parser.mli gallina8Lexer.ml \
+ grafiteParser.ml grafiteParser.mli grafiteLexer.ml
PACKAGES = CoRN
+LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
+LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
+
CMOS = $(MLS:%.ml=%.cmo)
CMXS = $(MLS:%.ml=%.cmx)
CMIS = $(MLIS:%.mli=%.cmi)
EXTRAS =
-OCAMLC = $(OCAMLFIND) ocamlc -thread -package "$(REQUIRES)" -linkpkg
-OCAMLOPT = $(OCAMLFIND) ocamlopt -thread -package "$(REQUIRES)" -linkpkg
+OCAMLC = $(OCAMLFIND) ocamlc -thread -package "$(REQUIRES)" -linkpkg -rectypes
+OCAMLOPT = $(OCAMLFIND) ocamlopt -thread -package "$(REQUIRES)" -linkpkg -rectypes
OCAMLDEP = $(OCAMLFIND) ocamldep
OCAMLYACC = ocamlyacc
OCAMLLEX = ocamllex
@echo -n
opt: transcript.opt $(EXTRAS) .depend.opt
- #echo -n
+ @echo -n
transcript: $(CMIS) $(CMOS) $(EXTRAS)
@echo " OCAMLC $(CMOS)"
$(H)$(OCAMLC) -o $@ $(CMOS)
-transcript.opt: $(CMIS) $(CMXS) $(EXTRAS)
+transcript.opt: $(CMIS) $(CMXS) $(EXTRAS)
@echo " OCAMLOPT $(CMXS)"
$(H)$(OCAMLOPT) -o $@ $(CMXS)
depend.opt: .depend.opt
-%.cmi: %.mli $(EXTRAS)
+%.cmi: %.mli $(EXTRAS)
@echo " OCAMLC $<"
$(H)$(OCAMLC) -c $<
-%.cmo %.cmi: %.ml $(EXTRAS)
+%.cmo %.cmi: %.ml $(EXTRAS) $(LIBRARIES)
@echo " OCAMLC $<"
$(H)$(OCAMLC) -c $<
-%.cmx: %.ml $(EXTRAS)
+%.o %.cmx %.cmi: %.ml $(EXTRAS) $(LIBRARIES_OPT)
@echo " OCAMLOPT $<"
$(H)$(OCAMLOPT) -c $<
%.ml %.mli: %.mly $(EXTRAS)
@echo " OCAMLLEX $<"
$(H)$(OCAMLLEX) $<
-include ../../../Makefile.defs
+ifeq ($(MAKECMDGOALS),)
+ include .depend
+endif
+
+ifeq ($(MAKECMDGOALS), all)
+ include .depend
+endif
ifeq ($(MAKECMDGOALS), opt)
include .depend.opt
endif
-ifeq ($(MAKECMDGOALS), all)
+ifeq ($(MAKECMDGOALS), test)
include .depend
endif
-ifeq ($(MAKECMDGOALS),)
- include .depend
+ifeq ($(MAKECMDGOALS), test.opt)
+ include .depend.opt
endif