# Warning: the modules must be in compilation order MODULES = \ registry \ thread \ xml \ urimanager \ logger \ getter \ pxp \ cic \ cic_annotations \ cic_annotations_cache \ cic_cache \ cic_proof_checking \ cic_textual_parser \ tex_cic_textual_parser \ cic_unification \ mathql \ mathql_generator \ mathql_interpreter \ cic_omdoc \ tactics \ cic_transformations \ cic_textual_parser2 OCAMLFIND_DEST_DIR = @OCAMLFIND_DEST_DIR@ OCAMLFIND_META_DIR = @OCAMLFIND_META_DIR@ METAS = $(MODULES:%=METAS/META.helm-%) CWD=`pwd` all: metas $(MODULES:%=%.all) opt: metas $(MODULES:%=%.opt) world: all opt metas: $(METAS) depend: $(MODULES:%=%.depend) install: $(MODULES:%=%.install) uninstall: $(MODULES:%=%.uninstall) clean: $(MODULES:%=%.clean) clean_metas: rm -f $(METAS) distclean: clean clean_metas rm -f Makefile Makefile.common configure config.log config.cache config.status .PHONY: all opt world metas depend install uninstall clean clean_metas distclean $(MODULES:%=%.all): export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.all=%) && make all $(MODULES:%=%.opt): export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.opt=%) && make opt $(MODULES:%=%.depend): export OCAMLPATH=$(CWD):$$OCAMLPATH ; cd $(@:%.depend=%) && make depend $(MODULES:%=%.install): cd $(@:%.install=%) && make install export TARGET=$(OCAMLFIND_META_DIR)/$(@:%.install=META.helm-%) ; \ cp METAS/$(@:%.install=meta.helm-%.src) $$TARGET && \ echo "directory=\"$(OCAMLFIND_DEST_DIR)/$(@:%.install=%)\"" >> $$TARGET $(MODULES:%=%.uninstall): cd $(@:%.uninstall=%) && make uninstall rm -f $(OCAMLFIND_META_DIR)/$(@:%.uninstall=META.helm-%) $(MODULES:%=%.clean): cd $(@:%.clean=%) && make clean METAS/META.helm-%: METAS/meta.helm-%.src cp $< $@ && echo "directory=\"$(CWD)/$*\"" >> $@ .PHONY: .dep.dot .dep.dot: echo "digraph G {" > $@ echo " rankdir = TB ;" >> $@ for i in $(MODULES); do ocamlfind query helm-$$i -recursive -p-format | grep helm | sed "s/^helm-/ \"$$i\" -> \"/g" | sed "s/$$/\";/g" >> $@ ; done mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old echo "}" >> $@ .PHONY: .alldep.dot .alldep.dot: echo "digraph G {" > $@ echo " rankdir = TB ;" >> $@ 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 mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old for i in $(MODULES); do echo "\"helm-$$i\" [shape=box,style=filled,fillcolor=yellow];" >> $@ ; done echo "}" >> $@ libraries.ps: .dep.dot dot -Tps -o $@ $< libraries-complete.ps: .alldep.dot dot -Tps -o $@ $<