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