X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2FMakefile;h=c3ce697ffe8f55b1e9277dbb085d24e22f8c5fd3;hb=780561e45e8de50dd0063a0e369458ba67479872;hp=5ffb3574affefb6ee61818c9e5b8211c342c64be;hpb=bf00dddb49e51a5fa1eb5eb8f73bf29632daf576;p=helm.git diff --git a/helm/software/Makefile b/helm/software/Makefile index 5ffb3574a..c3ce697ff 100644 --- a/helm/software/Makefile +++ b/helm/software/Makefile @@ -1,25 +1,47 @@ +H=@ include Makefile.defs SUBDIRS = components matita -all: $(foreach d,$(SUBDIRS),all.$(d)) -opt: $(foreach d,$(SUBDIRS),opt.$(d)) -clean: $(foreach d,$(SUBDIRS),clean.$(d)) -distclean: $(foreach d,$(SUBDIRS),distclean.$(d)) +ifeq ($(DISTRIBUTED),yes) +all: depend $(foreach d,$(SUBDIRS),rec@all@$(d)) +opt: depend $(foreach d,$(SUBDIRS),rec@opt@$(d)) +else +all: $(foreach d,$(SUBDIRS),rec@all@$(d)) +opt: $(foreach d,$(SUBDIRS),rec@opt@$(d)) +endif +world: depend $(foreach d,$(SUBDIRS),rec@world@$(d)) +depend: depend-stamp +depend-stamp: +ifeq ($(HAVE_OCAMLOPT),yes) + ifeq ($(DISTRIBUTED),yes) + $(MAKE) $(foreach d,$(SUBDIRS),rec@depend.opt@$(d)) + else + $(MAKE) $(foreach d,$(SUBDIRS),rec@depend@$(d)) + endif +else + $(MAKE) $(foreach d,$(SUBDIRS),rec@depend@$(d)) +endif + $(H)touch depend-stamp -all.%: - $(MAKE) -C $* all -opt.%: - $(MAKE) -C $* opt -clean.%: - $(MAKE) -C $* clean -distclean.%: - $(MAKE) -C $* distclean -install.%: - $(MAKE) -C $* install -uninstall.%: - $(MAKE) -C $* uninstall +clean: $(foreach d,$(SUBDIRS),rec@clean@$(d)) +distclean: $(foreach d,$(SUBDIRS),rec@distclean@$(d)) + $(H)rm -rf .matita library-stamp depend-stamp +install: $(foreach d,$(SUBDIRS),rec@install@$(d)) +uninstall: $(foreach d,$(SUBDIRS),rec@uninstall@$(d)) + +rec@%: + $(MAKE) -C $(word 2, $(subst @, ,$*)) $(word 1, $(subst @, ,$*)) + +# {{{ Distribution stuff + +ifeq ($(DISTRIBUTED),yes) +library: library-stamp +library-stamp: + $(MAKE) -C matita/ dist_library + touch $@ +endif BASENAME = matita NULL = @@ -28,7 +50,8 @@ CLEAN_ON_DIST = \ components/license \ $(NULL) EXTRA_DIST = \ - matita/dist/AUTHORS \ + matita/AUTHORS \ + matita/LICENSE \ matita/dist/COPYING \ matita/dist/INSTALL \ matita/dist/README \ @@ -37,9 +60,9 @@ EXTRA_DIST = \ Makefile.defs.in \ $(NULL) -dist: dist_mktmpdir dist_export dist_mktarball dist_rmtmpdir -distcheck: dist dist_extract dist_build +distcheck: dist dist_extract dist_test +dist: dist_mktmpdir dist_export dist_mktarball dist_rmtmpdir dist/configure.ac: configure.ac matita/dist/configure.ac.sed sed -f matita/dist/configure.ac.sed < $< > $@ dist/configure: dist/configure.ac @@ -53,14 +76,26 @@ dist_export: dist/configure mkdir $(DISTDIR) svn export components $(DISTDIR)/components svn export matita $(DISTDIR)/matita + (cd $(DISTDIR) && find . -name .depend -exec rm \{\} \;) (cd $(DISTDIR) && rm -f $(CLEAN_ON_DIST)) - ln -fs matita.conf.xml.user $(DISTDIR)/matita/matita.conf.xml cp $< $(DISTDIR)/configure cp -r $(EXTRA_DIST) $(DISTDIR) - dist_mktarball: tar czf $(DISTDIR).tar.gz $(DISTDIR) + rm -rf $(DISTDIR) + +dist_extract: + tar xzf $(DISTDIR).tar.gz +dist_test: + (cd $(DISTDIR)/ \ + && ./configure \ + && $(MAKE) world \ + && $(MAKE) install DESTDIR=`pwd`/install) + +.PHONY: dist dist_export dist_mktarball distcheck dist_extract dist_test dist_autotools + +# }}} End of distribution stuff -.PHONY: dist dist_export dist_mktarball distcheck dist_extract dist_build dist_autotools .PHONY: all opt clean distclean +# vim: set foldmethod=marker: