]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/Makefile.in
Added a new section on automation
[helm.git] / helm / ocaml / Makefile.in
index af199d3b5b9b7379d63f7e2c9152a30187413b41..2b1783b3ce852202bcebdef260a8ae7279f37ea6 100644 (file)
@@ -1,8 +1,11 @@
 # Warning: the modules must be in compilation order
+NULL =
 MODULES =                      \
+       extlib                  \
        xml                     \
-       pxp                     \
+       hgdome                  \
        registry                \
+       hmysql                  \
        utf8_macros             \
        thread                  \
        xmldiff                 \
@@ -10,27 +13,30 @@ MODULES =                   \
        logger                  \
        getter                  \
        cic                     \
-       cic_annotations         \
        cic_proof_checking      \
-       cic_unification         \
-       cic_omdoc               \
+       cic_acic                \
+       acic_content            \
+       content_pres            \
+       grafite                 \
        metadata                \
+       library                 \
+       cic_unification         \
+       whelp                   \
        tactics                 \
-       cic_notation            \
-       cic_transformations     \
-       cic_textual_parser2     \
-       mathql                  \
-       mathql_interpreter      \
-       mathql_generator        \
-       hbugs                   
+       cic_disambiguation      \
+       lexicon                 \
+       grafite_engine          \
+       grafite_parser          \
+       tactics/paramodulation \
+       $(NULL)
 
 OCAMLFIND_DEST_DIR = @OCAMLFIND_DEST_DIR@
-OCAMLFIND_META_DIR = @OCAMLFIND_META_DIR@
+OCAMLPATH = @OCAMLFIND_META_DIR@
+OCAMLFIND = OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH @OCAMLFIND@
 
-METAS = $(MODULES:%=METAS/META.helm-%)
-CWD=`pwd`
+METAS = $(filter-out %/paramodulation,$(MODULES:%=METAS/META.helm-%))
 
-all: metas $(MODULES:%=%.all)
+all: metas $(MODULES:%=%.all) 
 opt: metas $(MODULES:%=%.opt)
 world: all opt
 metas: $(METAS)
@@ -38,6 +44,11 @@ depend: $(MODULES:%=%.depend)
 install: $(MODULES:%=%.install)
 uninstall: $(MODULES:%=%.uninstall)
 clean: $(MODULES:%=%.clean)
+
+.stats: $(MODULES:%=%.stats)
+       (for m in $(MODULES); do echo -n "$$m:"; cat $$m/.stats; done) \
+        | sort -t : -k 2 -n -r > .stats
+
 clean_metas:
        rm -f $(METAS)
 distclean: clean clean_metas
@@ -45,12 +56,22 @@ distclean: clean clean_metas
 
 .PHONY: all opt world metas depend install uninstall clean clean_metas distclean
 
-$(MODULES:%=%.all):
-       export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.all=%) && make all
-$(MODULES:%=%.opt):
-       export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.opt=%) && make opt
-$(MODULES:%=%.depend):
-       export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.depend=%) && make depend
+%.all:
+       @echo building module: $*
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* all --no-print-directory
+%.opt:
+       @echo building module: $*
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* opt --no-print-directory
+%.clean:
+       @echo cleaning module: $*
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* clean --no-print-directory
+%.depend:
+       @echo calculating dependencies for module: $*
+       @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* depend --no-print-directory
+%.stats:
+       @echo generating stats for module: $*
+       @$(MAKE) -C $* .stats
+
 $(MODULES:%=%.install):
        cd $(@:%.install=%) && make install
        export TARGET=$(OCAMLFIND_META_DIR)/$(@:%.install=META.helm-%) ; \
@@ -59,10 +80,8 @@ $(MODULES:%=%.install):
 $(MODULES:%=%.uninstall):
        cd $(@:%.uninstall=%) && make uninstall
        rm -f $(OCAMLFIND_META_DIR)/$(@:%.uninstall=META.helm-%)
-$(MODULES:%=%.clean):
-       cd $(@:%.clean=%) && make clean
 METAS/META.helm-%: METAS/meta.helm-%.src
-       cp $< $@ && echo "directory=\"$(CWD)/$*\"" >> $@
+       cp $< $@ && echo "directory=\"$(shell pwd)/$*\"" >> $@
 
 .PHONY: .dep.dot
 .dep.dot:
@@ -81,12 +100,22 @@ METAS/META.helm-%: METAS/meta.helm-%.src
        for i in $(MODULES); do echo "\"helm-$$i\" [shape=box,style=filled,fillcolor=yellow];" >> $@ ; done
        echo "}" >> $@
 
+.extdep.dot: .dep.dot
+       ./patch_deps.sh $< $@
+.clustersdep.dot: .dep.dot
+       USE_CLUSTERS=yes ./patch_deps.sh $< $@
+
 libraries.ps: .dep.dot
        dot -Tps -o $@ $<
-
+libraries-ext.ps: .extdep.dot
+       dot -Tps -o $@ $<
+libraries-clusters.ps: .clustersdep.dot
+       dot -Tps -o $@ $<
 libraries-complete.ps: .alldep.dot
        dot -Tps -o $@ $<
 
+ps: libraries.ps libraries-ext.ps libraries-clusters.ps
+
 tags: TAGS
 .PHONY: TAGS
 TAGS: