]> matita.cs.unibo.it Git - helm.git/commitdiff
fixed cmi:cm(x)a problem in makefiles
authorEnrico Tassi <enrico.tassi@inria.fr>
Mon, 30 Jan 2006 17:12:13 +0000 (17:12 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Mon, 30 Jan 2006 17:12:13 +0000 (17:12 +0000)
helm/ocaml/Makefile.common.in
helm/ocaml/Makefile.in

index 9dff7894208c365a65473fd681eab2bbebf6cd3c..da539d460f3a4d9c2790bee888656df145797bf5 100644 (file)
@@ -29,6 +29,11 @@ OCAMLOPT_P4 = $(OCAMLFIND) opt $(OCAMLOPTIONS) $(SYNTAXOPTIONS)
 
 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))
+LIBRARIES_DEPS = $(foreach X,$(LIBRARIES),$(wildcard \
+       $(shell dirname $(X))/*.mli \
+       $(shell dirname $(X))/*.ml \
+       $(shell dirname $(X))/*/*.ml \
+       $(shell dirname $(X))/*/*.mli))
 
 
 ARCHIVE = $(PACKAGE).cma
@@ -39,12 +44,14 @@ OBJECTS_TO_INSTALL = $(ARCHIVE) $(ARCHIVE_OPT) $(ARCHIVE_OPT:%.cmxa=%.a) \
 DEPEND_FILES = $(INTERFACE_FILES) $(IMPLEMENTATION_FILES)
 
 $(ARCHIVE): $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(LIBRARIES)
-       if [ $(PACKAGE) != dummy ]; then \
+       @if [ $(PACKAGE) != dummy ]; then \
+       echo OCAMLC $@;\
        $(OCAMLC) $(OCAMLARCHIVEOPTIONS) -a -o $@ \
                $(IMPLEMENTATION_FILES:%.ml=%.cmo); fi
 
 $(ARCHIVE_OPT): $(IMPLEMENTATION_FILES:%.ml=%.cmx) $(LIBRARIES_OPT)
-       if [ $(PACKAGE) != dummy ]; then \
+       @if [ $(PACKAGE) != dummy ]; then \
+       echo OCAMLOPT $@;\
        $(OCAMLOPT) $(OCAMLARCHIVEOPTIONS) -a -o $@ \
                $(IMPLEMENTATION_FILES:%.ml=%.cmx); fi
 
@@ -67,11 +74,14 @@ $(PACKAGE).ps: .dep.dot
        ocamldot < .depend > $@
 
 %.cmi: %.mli
-       $(OCAMLC) -c $<
+       @echo OCAMLC $<
+       @$(OCAMLC) -c $<
 %.cmo %.cmi: %.ml
-       $(OCAMLC) -c $<
+       @echo OCAMLC $<
+       @$(OCAMLC) -c $<
 %.cmx: %.ml
-       $(OCAMLOPT) -c $<
+       @echo OCAMLOPT $<
+       @$(OCAMLOPT) -c $<
 %.annot: %.ml
        $(OCAMLC) -dtypes $(PKGS) -c $<
 %.ml %.mli: %.mly
@@ -80,6 +90,7 @@ $(PACKAGE).ps: .dep.dot
        $(OCAMLLEX) $<
 
 $(IMPLEMENTATION_FILES:%.ml=%.cmo): $(LIBRARIES)
+$(IMPLEMENTATION_FILES:%.ml=%.cmi): $(LIBRARIES_DEPS)
 $(IMPLEMENTATION_FILES:%.ml=%.cmx): $(LIBRARIES_OPT)
 
 clean:
@@ -120,17 +131,5 @@ ifneq ($(MAKECMDGOALS), depend)
    include .depend   
 endif
 
-ifeq ($(MAKECMDGOALS), all)
-   $(IMPLEMENTATION_FILES:%.ml=%.cmi): $(LIBRARIES)
-endif
-
-ifeq ($(MAKECMDGOALS), opt)
-   $(IMPLEMENTATION_FILES:%.ml=%.cmi): $(LIBRARIES_OPT)
-endif
-
-ifeq ($(MAKECMDGOALS),)
-   $(IMPLEMENTATION_FILES:%.ml=%.cmi): $(LIBRARIES)
-endif
-
 NULL =
 
index 66a0ae74a43192ecd502d87ddab85c16c0d33a9d..19624a460bccead111f99450e2a4682d38d04558 100644 (file)
@@ -57,15 +57,15 @@ distclean: clean clean_metas
 .PHONY: all opt world metas depend install uninstall clean clean_metas distclean
 
 %.all:
-       OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* all
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* all
 %.opt:
-       OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* opt
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* opt
 %.clean:
-       OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* clean
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* clean
 %.depend:
-       OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* depend
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* depend
 %.stats:
-       $(MAKE) -C $* .stats
+       @$(MAKE) -C $* .stats
 
 $(MODULES:%=%.install):
        cd $(@:%.install=%) && make install