X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=Makefile;h=6a16621dcd0c750e0c89c84510968c1cfe1192c4;hb=32c96a65487f71bb22a609c18eac315bd700dc36;hp=30ca291c77199b01590804ee6a4806049d284f71;hpb=58b4a55da40191b2a2aa14a7daa83639d5925243;p=helm.git diff --git a/Makefile b/Makefile index 30ca291c7..6a16621dc 100644 --- a/Makefile +++ b/Makefile @@ -1,63 +1,83 @@ include Makefile.defs -SUBDIRS = libs 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)) - -all.%: - $(MAKE) -C $* all -opt.%: - $(MAKE) -C $* opt -clean.%: - $(MAKE) -C $* clean -distclean.%: - $(MAKE) -C $* distclean -install.%: - $(MAKE) -C $* install -uninstall.%: - $(MAKE) -C $* uninstall +SUBDIRS = components matita + +all: $(foreach d,$(SUBDIRS),rec@all@$(d)) +opt: $(foreach d,$(SUBDIRS),rec@opt@$(d)) +world: $(foreach d,$(SUBDIRS),rec@world@$(d)) +clean: $(foreach d,$(SUBDIRS),rec@clean@$(d)) +distclean: $(foreach d,$(SUBDIRS),rec@distclean@$(d)) + rm -rf .matita library-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_clean dist_library + touch $@ +endif BASENAME = matita NULL = DISTDIR = $(BASENAME)-$(MATITA_VERSION) CLEAN_ON_DIST = \ - ocaml/license \ + components/license \ $(NULL) EXTRA_DIST = \ - dist/AUTHORS \ - dist/COPYING \ - dist/INSTALL \ - dist/README \ - dist/ChangeLog \ + matita/AUTHORS \ + matita/LICENSE \ + matita/dist/COPYING \ + matita/dist/INSTALL \ + matita/dist/README \ + matita/dist/ChangeLog \ Makefile \ Makefile.defs.in \ - ./configure \ $(NULL) -dist: dist_autotools dist_export dist_mktarball -distcheck: dist dist_extract dist_build - -dist_autotools: - autoconf - ./configure +distcheck: dist dist_extract dist_test -dist_export: +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 + cd dist && autoconf +dist_mktmpdir: + test -d dist || mkdir dist +dist_rmtmpdir: + test -d dist && rm -rf dist/ || true +dist_export: dist/configure rm -rf $(DISTDIR) mkdir $(DISTDIR) - svn export ocaml $(DISTDIR)/ocaml + svn export components $(DISTDIR)/components svn export matita $(DISTDIR)/matita (cd $(DISTDIR) && rm -f $(CLEAN_ON_DIST)) ln -fs matita.conf.xml.user $(DISTDIR)/matita/matita.conf.xml - mv $(DISTDIR)/ocaml $(DISTDIR)/libs + 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) library \ + && $(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: