X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Fstepmake%2Fgeneric-targets.make;h=fb8e6e6a2f399f026bcce5845c3fd7105d5f11d1;hb=31de5573a9c7e3a69b5ab67e2b0734ba88285b64;hp=cfade84d8924e4b1ed585b90d0895149e233ec48;hpb=7c0081d2e09d35232da5b7b5998f39adfa76d741;p=lilypond.git diff --git a/stepmake/stepmake/generic-targets.make b/stepmake/stepmake/generic-targets.make index cfade84d89..fb8e6e6a2f 100644 --- a/stepmake/stepmake/generic-targets.make +++ b/stepmake/stepmake/generic-targets.make @@ -1,20 +1,22 @@ -# title generic make targets -# file make/Targets.make - -.PHONY : all clean config default dist doc doc++ exe help html lib TAGS\ +.PHONY : all clean config default diff dist doc exe help html lib TAGS\ po -VPATH=$(outdir)/ #ugh? -# target all: -# + all: default $(LOOP) +man: + $(LOOP) # be careful about deletion. -clean: localclean +clean: local-clean -rm -f $(outdir)/* $(LOOP) +ifneq ($(strip $(depth)),.) +dist: + make -C $(depth) dist +endif + distclean: clean $(LOOP) $(MAKE) local-distclean @@ -37,75 +39,44 @@ config: generic-help: @echo -e "\ Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\ -Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\ +Usage: make ["VARIABLE=value"]... [TARGET]\n\ \n\ Targets:\n" help: generic-help local-help @echo -e "\ all update everything\n\ - clean remove all genated stuff in $(oudir)\n\ - config rerun configure\n\ - deb build Debian package\n\ + clean remove all genated stuff in $(outdir)\n\ + check run selftest\n\ default same as the empty target\n\ - diff generate patch: $(package)-$(TOPLEVEL_VERSION).diff.gz\n\ - . Options:\n\ - . from=0.1.74\n\ - . help==\n\ - . release==\n\ - . to=0.1.74.jcn2\n\ - distclean cleaner than clean (duh)\n\ - doc update all documentation\n\ - doc++ make doc++ documentation\n\ exe update all executables\n\ help this help\n\ install install programs and data (prefix=$(prefix))\n\ lib update all libraries\n\ - release roll tarball and generate patch\n\ - rpm build RedHat package\n\ - tar same as dist\n\ TAGS genarate tagfiles\n\ - zip build binary doze distribution\n\ \n\ Make may be invoked from any subdirectory\n\ -Note that all commands recurse into SUBSDIRS\n\ +Note that all commands recurse into SUBDIRS;\n\ +prepend \`local-' to do only cwd, eg: local-clean\n\ "\ -# local-help: -doc: -#UGH - true # $(MAKE) -C $(depth)/Documentation all - - -# Ugh. C++ specific. -doc++: - (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz) - - -update-state-vector: -ifneq ($(strip $(state-vector)),) - if [ "`tail -1 $(state-vector)`" != "$(TOPLEVEL_VERSION)" ]; then\ - echo $(TOPLEVEL_VERSION) >> $(state-vector); \ - fi -endif - local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) mkdir -p $(distdir)/$(localdir) $(LN) $(DIST_FILES) $(distdir)/$(localdir) -#UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion) -# case "$(NON_ESSENTIAL_DIST_FILES)x" in x) ;; *) \ $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir);; \ esac case "$(OUT_DIST_FILES)x" in x) ;; *) \ - mkdir $(distdir)/$(localdir)/out; \ - $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out;; \ + mkdir -p $(distdir)/$(localdir)/$(outdir); \ + $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/$(outdir);; \ esac - $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true +# $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true +# absolute for installed stepmake + $(foreach i, $(SUBDIRS), $(MAKE) topdir=$(topdir) distdir=$(distdir) localdir=$(localdir)/$(notdir $(i)) -C $(i) local-dist &&) true @@ -113,25 +84,27 @@ html: $(HTML_FILES) TAGS: -if [ "$(TAGS_FILES)" != "" ]; then \ - etags -CT $(TAGS_FILES) || \ - ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \ + etags $(ETAGS_FLAGS) $(TAGS_FILES) || \ + ctags $(CTAGS_FLAGS) ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \ fi $(LOOP) # ugh . -> $(outdir) $(outdir)/VERSION: $(depth)/VERSION - cp $< $@ + cp -p $< $@ + +$(outdir)/version.hh: $(outdir)/VERSION + $(PYTHON) $(step-bindir)/make-version.py $< > $@ -$(outdir)/version.hh: VERSION - sh ./$(step-bindir)/make-version.sh $< > $@ +$(outdir)/config.h: $(config_h) + cp -p $< $@ -# should this be in Rules? configure: configure.in aclocal.m4 - autoconf - < $<> $@ + NOCONFIGURE=yes $(srcdir)/autogen.sh chmod +x configure -localclean: +local-clean: local-distclean: @@ -140,30 +113,28 @@ local-maintainerclean: install-strip: $(MAKE) INSTALL="$(INSTALL) -s" install -install: localinstall +final-install: + +install: local-install $(LOOP) + $(MAKE) final-install -localinstall: +local-install: -uninstall: localuninstall +uninstall: local-uninstall $(LOOP) -localuninstall: +local-uninstall: installextradoc: -$(INSTALL) -d $(prefix)/doc/$(package) $(foreach i, $(EXTRA_DOC_FILES),\ cp -r $(i) $(prefix)/doc/$(package) &&) true -WWW: local-WWW - $(LOOP) - -include $(stepdir)/package.make - -include $(outdir)/dummy.dep $(DEP_FILES) +include $(outdir)/dummy.dep $(DEP_FILES) # expect a warning here $(outdir)/dummy.dep: - -mkdir $(outdir) + -mkdir -p $(outdir) touch $(outdir)/dummy.dep @@ -173,9 +144,45 @@ check: local-check local-check: # ugh. ugh ugh ugh -$(depth)/$(configuration).make: $(depth)/configure - @echo "**************************************" +$(config_make): $(topdir)/configure + @echo "************************************************************" @echo "configure changed! You should probably reconfigure manually." - @echo "**************************************" - (cd $(depth); ./config.status) + @echo "************************************************************" + (cd $(builddir); ./config.status) touch $@ # do something for multiple simultaneous configs. + + +deb: + $(MAKE) -C $(depth)/debian + cd $(depth) && debuild + +diff: + $(PYTHON) $(step-bindir)/package-diff.py --outdir=$(topdir)/$(outdir) --package=$(topdir) $(makeflags) + -ln -f $(depth)/$(outdir)/$(distname).diff.gz $(patch-dir) + +release: + $(PYTHON) $(step-bindir)/release.py --outdir=$(topdir)/$(outdir) --package=$(topdir) + + +################ website. + +local-WWW: +local-WWW-post: +local-web-post: + +WWW: local-WWW + $(LOOP) + $(MAKE) local-WWW-post + +web: + $(MAKE) out=www WWW + $(MAKE) local-web-post + +local-help: www-targets-help + +www-targets-help: + @echo -e "\ + web update website in out-www\n\ + web-install install website documentation in (docdir=$(local_package_docdir))\n\ + web-clean clean out-www\n\ +"