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