# Warning: the modules must be in compilation order MODULES = \ xml \ urimanager \ 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 \ logger 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) metas: $(METAS) depend: $(MODULES:%=%.depend) install: $(MODULES:%=%.install) uninstall: $(MODULES:%=%.uninstall) clean: $(MODULES:%=%.clean) clean_metas clean_metas: rm -f $(METAS) dist-clean: clean rm -f Makefile Makefile.common configure config.log config.cache config.status $(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 $(@:%.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 "}" >> $@ libraries.ps: .dep.dot dot -Tps -o $@ $<