]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/Makefile.in
moved up xml, now needed by CicParser
[helm.git] / helm / ocaml / Makefile.in
1 # Warning: the modules must be in compilation order
2 MODULES =                       \
3         xml                     \
4         pxp                     \
5         registry                \
6         utf8_macros             \
7         thread                  \
8         xmldiff                 \
9         urimanager              \
10         logger                  \
11         getter                  \
12         cic                     \
13         cic_annotations         \
14         cic_proof_checking      \
15         cic_unification         \
16         cic_omdoc               \
17         metadata                \
18         tactics                 \
19         cic_transformations     \
20         cic_textual_parser2     \
21         mathql                  \
22         mathql_interpreter      \
23         mathql_generator        \
24         hbugs                   
25
26 OCAMLFIND_DEST_DIR = @OCAMLFIND_DEST_DIR@
27 OCAMLFIND_META_DIR = @OCAMLFIND_META_DIR@
28
29 METAS = $(MODULES:%=METAS/META.helm-%)
30 CWD=`pwd`
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 $(MODULES:%=%.all):
48         export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.all=%) && make all
49 $(MODULES:%=%.opt):
50         export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.opt=%) && make opt
51 $(MODULES:%=%.depend):
52         export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.depend=%) && make depend
53 $(MODULES:%=%.install):
54         cd $(@:%.install=%) && make install
55         export TARGET=$(OCAMLFIND_META_DIR)/$(@:%.install=META.helm-%) ; \
56         cp METAS/$(@:%.install=meta.helm-%.src) $$TARGET && \
57         echo "directory=\"$(OCAMLFIND_DEST_DIR)/$(@:%.install=%)\"" >> $$TARGET
58 $(MODULES:%=%.uninstall):
59         cd $(@:%.uninstall=%) && make uninstall
60         rm -f $(OCAMLFIND_META_DIR)/$(@:%.uninstall=META.helm-%)
61 $(MODULES:%=%.clean):
62         cd $(@:%.clean=%) && make clean
63 METAS/META.helm-%: METAS/meta.helm-%.src
64         cp $< $@ && echo "directory=\"$(CWD)/$*\"" >> $@
65
66 .PHONY: .dep.dot
67 .dep.dot:
68         echo "digraph G {" > $@
69         echo "   rankdir = TB ;" >> $@
70         for i in $(MODULES); do $(OCAMLFIND) query helm-$$i -recursive -p-format | grep helm | sed "s/^helm-/ \"$$i\" -> \"/g" | sed "s/$$/\";/g" >> $@ ; done
71         mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old
72         echo "}" >> $@
73
74 .PHONY: .alldep.dot
75 .alldep.dot:
76         echo "digraph G {" > $@
77         echo "   rankdir = TB ;" >> $@
78         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
79         mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old
80         for i in $(MODULES); do echo "\"helm-$$i\" [shape=box,style=filled,fillcolor=yellow];" >> $@ ; done
81         echo "}" >> $@
82
83 libraries.ps: .dep.dot
84         dot -Tps -o $@ $<
85
86 libraries-complete.ps: .alldep.dot
87         dot -Tps -o $@ $<
88
89 tags: TAGS
90 .PHONY: TAGS
91 TAGS:
92         otags -vi -r .
93