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