X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Fstepmake%2Fgeneric-targets.make;h=7546bbd2b5565840b29e1e64bbc9ad8e9b77a38f;hb=9e69cb84d6ee5b0a861cd97869b10e3bdf0c833c;hp=fc567c3910b5ec06f08d86a3831a8b255cfb3356;hpb=545b6157f993295d433625519008969dfb5c3132;p=lilypond.git diff --git a/stepmake/stepmake/generic-targets.make b/stepmake/stepmake/generic-targets.make index fc567c3910..7546bbd2b5 100644 --- a/stepmake/stepmake/generic-targets.make +++ b/stepmake/stepmake/generic-targets.make @@ -7,21 +7,26 @@ all: default man: $(LOOP) -# be careful about deletion. clean: local-clean - -rm -f $(outdir)/* + -rm -rf "./$(outdir)" $(LOOP) ifneq ($(strip $(depth)),.) dist: - make -C $(depth) dist + $(MAKE) -C $(depth) dist endif -distclean: clean +distclean: clean $(LOOP) $(MAKE) local-distclean -maintainerclean: +cvs-clean: + $(MAKE) local-distclean + rm -rf out + rm -rf out-www + rm -f aclocal.m4 configure + +maintainerclean: $(LOOP) $(MAKE) local-maintainerclean $(MAKE) local-distclean @@ -30,7 +35,7 @@ maintainerclean: # configure: # config: - ./$(depth)/configure + ./$(src-depth)/configure # @@ -46,62 +51,64 @@ Targets:\n" help: generic-help local-help @echo -e "\ all update everything\n\ - clean remove all genated stuff in $(outdir)\n\ - check run selftest\n\ + clean remove all generated stuff in $(outdir)\n\ + check run self tests\n\ default same as the empty target\n\ exe update all executables\n\ help this help\n\ install install programs and data (prefix=$(prefix))\n\ lib update all libraries\n\ - TAGS genarate tagfiles\n\ + web update website in directory \`out-www'\n\ + web-install install website documentation in (webdir=$(webdir))\n\ + web-clean clean \`out-www' directory\n\ + TAGS generate tagfiles\n\ \n\ -Make may be invoked from any subdirectory\n\ -Note that all commands recurse into SUBDIRS;\n\ -prepend \`local-' to do only cwd, eg: local-clean\n\ -"\ +\`make' may be invoked from any subdirectory.\n\ +Note that all commands recurse into subdirectories;\n\ +prepend \`local-' to restrict operation to the current directory.\n\ +Example: \`local-clean'.\n" +# " local-help: local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) mkdir -p $(distdir)/$(localdir) - $(LN) $(DIST_FILES) $(distdir)/$(localdir) + $(LN) $(DIST_FILES:%=$(src-dir)/%) $(distdir)/$(localdir) case "$(NON_ESSENTIAL_DIST_FILES)x" in x) ;; *) \ - $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir);; \ + $(LN) $(NON_ESSENTIAL_DIST_FILES:%=$(src-dir)/%) $(distdir)/$(localdir);; \ esac - case "$(OUT_DIST_FILES)x" in x) ;; *) \ 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 -# absolute for installed stepmake - $(foreach i, $(SUBDIRS), $(MAKE) topdir=$(topdir) distdir=$(distdir) localdir=$(localdir)/$(notdir $(i)) -C $(i) local-dist &&) true + $(foreach i, $(SUBDIRS), $(MAKE) top-src-dir=$(top-src-dir) distdir=$(distdir) localdir=$(localdir)/$(notdir $(i)) -C $(i) local-dist &&) true html: $(HTML_FILES) TAGS: - -if [ "$(TAGS_FILES)" != "" ]; then \ - etags $(ETAGS_FLAGS) $(TAGS_FILES) || \ - ctags $(CTAGS_FLAGS) ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \ - fi - $(LOOP) + $(MAKE) local-tags + +DEEPER_TAGS_FILES = $(shell find $(pwd) -mindepth 2 -name 'TAGS') +local-tags: + -if [ -n "$(TAGS_HEADERS)$(TAGS_SOURCES)$(DEEPER_TAGS_FILES)" ]; then \ + etags $(ETAGS_FLAGS) $(DEEPER_TAGS_FILES:%=--include=%) \ + $(TAGS_SOURCES) $(TAGS_HEADERS) $(ERROR_LOG) ; \ + ctags $(CTAGS_FLAGS) $(TAGS_SOURCES) $(TAGS_HEADERS) \ + $(ERROR_LOG) ; \ + fi -# ugh . -> $(outdir) -$(outdir)/VERSION: $(depth)/VERSION - cp -p $< $@ - -$(outdir)/version.hh: $(outdir)/VERSION +$(outdir)/version.hh: $(depth)/VERSION $(config_make) $(step-bindir)/make-version.py $(PYTHON) $(step-bindir)/make-version.py $< > $@ -$(outdir)/config.h: $(config_h) +$(outdir)/config.hh: $(config_h) cp -p $< $@ configure: configure.in aclocal.m4 - NOCONFIGURE=yes $(srcdir)/autogen.sh + NOCONFIGURE=yes $(src-depth)/autogen.sh chmod +x configure local-clean: @@ -111,13 +118,17 @@ local-distclean: local-maintainerclean: install-strip: - $(MAKE) INSTALL="$(INSTALL) -s" install + $(MAKE) INSTALLPY="$(INSTALLPY) -s" install +ifeq ($(strip $(depth)),.) +final-install: +else final-install: + $(LOOP) install: local-install $(LOOP) - $(MAKE) final-install +endif local-install: @@ -127,16 +138,16 @@ uninstall: local-uninstall local-uninstall: installextradoc: - -$(INSTALL) -d $(prefix)/doc/$(package) - $(foreach i, $(EXTRA_DOC_FILES),\ - cp -r $(i) $(prefix)/doc/$(package) &&) true + -$(INSTALLPY) -d $(DESTDIR)$(prefix)/doc/$(package) + cp -r $(EXTRA_DOC_FILES) $(prefix)/doc/$(package) -include $(outdir)/dummy.dep $(DEP_FILES) # expect a warning here +include $(outdir)/dummy.dep $(wildcard $(outdir)/*.dep) # expect a warning here $(outdir)/dummy.dep: + @echo please ignore innocent warning about dummy.dep -mkdir -p $(outdir) touch $(outdir)/dummy.dep - + echo '*' > $(outdir)/.gitignore check: local-check $(LOOP) @@ -144,11 +155,11 @@ check: local-check local-check: # ugh. ugh ugh ugh -$(depth)/$(configuration).make: $(depth)/configure +$(config_make): $(top-src-dir)/configure @echo "************************************************************" @echo "configure changed! You should probably reconfigure manually." @echo "************************************************************" - (cd $(depth); ./config.status) + (cd $(top-build-dir); ./config.status) touch $@ # do something for multiple simultaneous configs. @@ -157,15 +168,25 @@ deb: cd $(depth) && debuild diff: - $(PYTHON) $(step-bindir)/package-diff.py --outdir=$(topdir)/$(outdir) --package=$(topdir) $(makeflags) + $(PYTHON) $(step-bindir)/package-diff.py --outdir=$(top-src-dir)/$(outdir) --package=$(top-src-dir) $(makeflags) -ln -f $(depth)/$(outdir)/$(distname).diff.gz $(patch-dir) -release: - $(PYTHON) $(step-bindir)/release.py --outdir=$(topdir)/$(outdir) --package=$(topdir) +release: + $(PYTHON) $(step-bindir)/release.py --outdir=$(top-src-dir)/$(outdir) --package=$(top-src-dir) + + +################ website. local-WWW: local-WWW-post: +web-install: WWW: local-WWW $(LOOP) - $(MAKE) local-WWW-post + +WWW-post: local-WWW-post + $(LOOP) + +web: + $(MAKE) out=www WWW + $(MAKE) out=www WWW-post