]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/Makefile
META files are now automatically generated from META-*.src files.
[helm.git] / helm / ocaml / Makefile
index e488c640136557294c234b60aa727e34f02fdb64..d983eea74dc2125fcdfcfd45fdeaeb492542e560 100644 (file)
@@ -1,6 +1,31 @@
 # Warning: the modules must be in compilation order
-MODULES= xml urimanager getter pxp cic cic_annotations cic_annotations_cache \
-         cic_cache cic_proof_checking
+MODULES = xml urimanager getter pxp cic cic_annotations cic_annotations_cache \
+          cic_cache cic_proof_checking
 
-all opt depend install uninstall clean:
-       for i in $(MODULES) ; do (cd $$i ; make $@) ; done
+METAS = $(MODULES:%=META.helm-%)
+CWD=`pwd`
+
+all: $(METAS) $(MODULES:%=%.all)
+opt: $(METAS) $(MODULES:%=%.opt)
+depend: $(MODULES:%=%.depend)
+install: $(MODULES:%=%.install)
+uninstall: $(MODULES:%=%.uninstall)
+clean: $(MODULES:%=%.clean)
+       rm -f $(METAS)
+
+$(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
+$(MODULES:%=%.uninstall):
+       cd $(@:%.uninstall=%) ; make uninstall
+$(MODULES:%=%.clean):
+       cd $(@:%.clean=%) ; make clean
+$(MODULES:%=META.helm-%):
+       cp $@.src $@ ; echo "directory=\"$(CWD)/$(@:META.helm-%=%)\"" >> $@
+META.helm-%: META.helm-%.src
+       cp $< $@ ; echo "directory=\"$(CWD)/$(@:META.helm-%=%)\"" >> $@