X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Fstepmake%2Fgeneric-targets.make;h=dcb196c4dc13e4412d1766410e90157895ba818a;hb=64d617e1bf5b7fac3534a095037096dafefcdff1;hp=7546bbd2b5565840b29e1e64bbc9ad8e9b77a38f;hpb=a34d68e00f08b9fdd4753e5f10d2325d2bd1a878;p=lilypond.git diff --git a/stepmake/stepmake/generic-targets.make b/stepmake/stepmake/generic-targets.make index 7546bbd2b5..dcb196c4dc 100644 --- a/stepmake/stepmake/generic-targets.make +++ b/stepmake/stepmake/generic-targets.make @@ -1,5 +1,5 @@ -.PHONY : all clean config default diff dist doc exe help html lib TAGS\ - po +.PHONY : all clean bin-clean config default dist exe help html lib TAGS\ + po doc doc-stage-1 WWW-1 WWW-2 WWW-post local-WWW-1 local-WWW-2 all: default $(LOOP) @@ -8,16 +8,25 @@ man: $(LOOP) clean: local-clean - -rm -rf "./$(outdir)" + -rm -rf $(outdir) $(LOOP) +ifeq (,$(findstring metafont,$(STEPMAKE_TEMPLATES))) +bin-clean: local-bin-clean + -rm -rf $(outdir) + $(LOOP) +else +bin-clean: +endif + +local-bin-clean: local-clean + ifneq ($(strip $(depth)),.) dist: $(MAKE) -C $(depth) dist endif distclean: clean - $(LOOP) $(MAKE) local-distclean cvs-clean: @@ -32,43 +41,40 @@ maintainerclean: $(MAKE) local-distclean -# configure: -# +# This doesn't allow command-line options, is it really useful? -jm config: ./$(src-depth)/configure -# -# target help: -# generic-help: - @echo -e "\ -Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\ -Usage: make ["VARIABLE=value"]... [TARGET]\n\ -\n\ -Targets:\n" + @echo "Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)" + @echo "Usage: make ["VARIABLE=value"]... [TARGET]" + @echo + @echo "Targets specific to current directory:" help: generic-help local-help - @echo -e "\ - all update everything\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\ - 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 subdirectories;\n\ -prepend \`local-' to restrict operation to the current directory.\n\ -Example: \`local-clean'.\n" - -# " + @echo "Generic targets that recurse into subdirectories*:" + @echo " all update everything except documentation with images" + @echo " clean remove all generated stuff in $(outdir)" + @echo " bin-clean same as clean, except that mf/out is preserved" + @echo " doc update documentation with images in directory \`out-www'" + @echo " doc-stage-1 update only PDF and Info documentation in directory \`out-www'" + @echo " doc-clean clean \`out-www' directory" + @echo " install install programs and data (prefix=$(prefix))" + @echo " uninstall uninstall programs and data" + @echo + @echo " *Note: Prepend \`local-' (eg. \`local-clean') to restrict" + @echo " any of the above commands to the current directory." + @echo + @echo "Other generic targets:" + @echo " default same as the empty target" + @echo " exe update all executables" + @echo " help this help" + @echo " lib update all libraries" + @echo " TAGS generate tagfiles" + @echo + @echo "\`make' may be invoked from any subdirectory." + local-help: local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) @@ -141,10 +147,9 @@ installextradoc: -$(INSTALLPY) -d $(DESTDIR)$(prefix)/doc/$(package) cp -r $(EXTRA_DOC_FILES) $(prefix)/doc/$(package) -include $(outdir)/dummy.dep $(wildcard $(outdir)/*.dep) # expect a warning here +-include $(outdir)/dummy.dep $(wildcard $(outdir)/*.dep) $(outdir)/dummy.dep: - @echo please ignore innocent warning about dummy.dep -mkdir -p $(outdir) touch $(outdir)/dummy.dep echo '*' > $(outdir)/.gitignore @@ -163,30 +168,36 @@ $(config_make): $(top-src-dir)/configure touch $@ # do something for multiple simultaneous configs. -deb: - $(MAKE) -C $(depth)/debian - cd $(depth) && debuild - -diff: - $(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) +#### Documentation (website and tarball) -release: - $(PYTHON) $(step-bindir)/release.py --outdir=$(top-src-dir)/$(outdir) --package=$(top-src-dir) +# documentation is built in two stages, +# plus WWW-post (only at toplevel) +# see INSTALL for more information. +ifeq ($(out),www) +local-WWW-1: +local-WWW-2: +WWW-post: -################ website. - -local-WWW: -local-WWW-post: -web-install: - -WWW: local-WWW +WWW-1: local-WWW-1 $(LOOP) -WWW-post: local-WWW-post +WWW-2: local-WWW-2 $(LOOP) +endif -web: - $(MAKE) out=www WWW +doc: doc-stage-1 + $(MAKE) out=www WWW-2 $(MAKE) out=www WWW-post + +local-doc: + $(MAKE) out=www local-WWW-1 + $(MAKE) out=www local-WWW-2 + $(MAKE) out=www WWW-post + +doc-stage-1: + $(MAKE) -C $(depth)/scripts/build out= + $(MAKE) out=www WWW-1 + +doc-clean: + $(MAKE) out=www clean