]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/Makefile.in
moved dot stuff to STATS/
[helm.git] / helm / ocaml / Makefile.in
1
2 export SHELL=/bin/bash
3
4 # Warning: the modules must be in compilation order
5 NULL =
6 MODULES =                       \
7         extlib                  \
8         xml                     \
9         hgdome                  \
10         registry                \
11         hmysql                  \
12         utf8_macros             \
13         thread                  \
14         xmldiff                 \
15         urimanager              \
16         logger                  \
17         getter                  \
18         cic                     \
19         cic_proof_checking      \
20         cic_acic                \
21         acic_content            \
22         content_pres            \
23         grafite                 \
24         metadata                \
25         library                 \
26         cic_unification         \
27         whelp                   \
28         tactics                 \
29         cic_disambiguation      \
30         lexicon                 \
31         grafite_engine          \
32         grafite_parser          \
33         tactics/paramodulation  \
34         $(NULL)
35
36 OCAMLFIND_DEST_DIR = @OCAMLFIND_DEST_DIR@
37 OCAMLPATH = @OCAMLFIND_META_DIR@
38 OCAMLFIND = OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH @OCAMLFIND@
39
40 METAS = $(filter-out %/paramodulation,$(MODULES:%=METAS/META.helm-%))
41
42 all: metas $(MODULES:%=%.all) 
43 opt: metas $(MODULES:%=%.opt)
44 world: all opt
45 metas: $(METAS)
46 depend: $(MODULES:%=%.depend)
47 install: $(MODULES:%=%.install)
48 uninstall: $(MODULES:%=%.uninstall)
49 clean: $(MODULES:%=%.clean) clean_metas
50
51 .stats: $(MODULES:%=%.stats)
52         (for m in $(MODULES); do echo -n "$$m:"; cat $$m/.stats; done) \
53          | sort -t : -k 2 -n -r > .stats
54
55 EXTRA_DIST_CLEAN = \
56         libraries-clusters.ps   \
57         libraries-clusters.pdf  \
58         libraries-ext.ps        \
59         libraries.ps            \
60         .dep.dot                \
61         .extdep.dot             \
62         .clustersdep.dot        \
63         $(NULL)
64
65 clean_metas:
66         rm -f $(METAS)
67 distclean: clean clean_metas
68         rm -f configure config.log config.cache config.status
69         rm -f Makefile Makefile.common $(EXTRA_DIST_CLEAN)
70
71 .PHONY: all opt world metas depend install uninstall clean clean_metas distclean
72
73 %.all:
74         @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* all 
75 %.opt:
76         @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* opt
77 %.clean:
78         @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* clean 
79 %.depend:
80         @OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* depend 
81 %.stats:
82         @$(MAKE) -C $* .stats
83
84 $(MODULES:%=%.install):
85         cd $(@:%.install=%) && make install
86         export TARGET=$(OCAMLFIND_META_DIR)/$(@:%.install=META.helm-%) ; \
87         cp METAS/$(@:%.install=meta.helm-%.src) $$TARGET && \
88         echo "directory=\"$(OCAMLFIND_DEST_DIR)/$(@:%.install=%)\"" >> $$TARGET
89 $(MODULES:%=%.uninstall):
90         cd $(@:%.uninstall=%) && make uninstall
91         rm -f $(OCAMLFIND_META_DIR)/$(@:%.uninstall=META.helm-%)
92 METAS/META.helm-%: METAS/meta.helm-%.src
93         cp $< $@ && echo "directory=\"$(shell pwd)/$*\"" >> $@
94
95 .PHONY: .dep.dot
96 .dep.dot:
97         echo "digraph G {" > $@
98         echo "   rankdir = TB ;" >> $@
99         for i in $(MODULES); do $(OCAMLFIND) query helm-$$i -recursive -p-format | grep helm | sed "s/^helm-/ \"$$i\" -> \"/g" | sed "s/$$/\";/g" >> $@ ; done
100         mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old
101         echo "}" >> $@
102
103 .PHONY: .alldep.dot
104 .alldep.dot:
105         echo "digraph G {" > $@
106         echo "   rankdir = TB ;" >> $@
107         for i in $(MODULES); do $(OCAMLFIND) query helm-$$i -recursive -p-format | grep -v "pxp-" | sed "s/^pxp/pxp[-*]/g" | sed "s/^/ \"helm-$$i\" -> \"/g" | sed "s/$$/\";/g" >> $@ ; done
108         mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old
109         for i in $(MODULES); do echo "\"helm-$$i\" [shape=box,style=filled,fillcolor=yellow];" >> $@ ; done
110         echo "}" >> $@
111
112 .extdep.dot: .dep.dot
113         STATS/patch_deps.sh $< $@
114 .clustersdep.dot: .dep.dot
115         USE_CLUSTERS=yes STATS/patch_deps.sh $< $@
116
117 libraries.ps: .dep.dot
118         dot -Tps -o $@ $<
119 libraries-ext.ps: .extdep.dot
120         dot -Tps -o $@ $<
121 libraries-clusters.ps: .clustersdep.dot
122         dot -Tps -o $@ $<
123 libraries-complete.ps: .alldep.dot
124         dot -Tps -o $@ $<
125
126 ps: libraries.ps libraries-ext.ps libraries-clusters.ps
127
128 tags: TAGS
129 .PHONY: TAGS
130 TAGS:
131         otags -vi -r .
132