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