]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/generic-targets.make
Merge branch 'lilypond/translation' of ssh://git.sv.gnu.org/srv/git/lilypond into...
[lilypond.git] / stepmake / stepmake / generic-targets.make
index 7546bbd2b5565840b29e1e64bbc9ad8e9b77a38f..b98eb8c8c354d19d9cb8238ff53df2a9d8931a85 100644 (file)
@@ -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)
@@ -11,6 +11,16 @@ clean: local-clean
        -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
@@ -32,43 +42,39 @@ 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"
+Targets specific to current directory:\n"
 
 help: generic-help local-help
-       @echo -e "\
-  all         update everything\n\
-  clean       remove all generated stuff in $(outdir)\n\
-  check       run self tests\n\
+       @echo -e "Generic targets:\n\
+  all *       update everything except documentation with images\n\
+  clean *     remove all generated stuff in $(outdir)\n\
+  bin-clean * same as clean, except that mf/out is preserved\n\
   default     same as the empty target\n\
+  doc *       update documentation with images in directory \`out-www'\n\
+  doc-stage-1 * update only PDF and Info documentation in directory \`out-www'\n\
+  doc-clean * clean \`out-www' directory\n\
   exe         update all executables\n\
   help        this help\n\
-  install     install programs and data (prefix=$(prefix))\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\
+  uninstall*  uninstall programs and data\n\
   TAGS        generate tagfiles\n\
 \n\
 \`make' may be invoked from any subdirectory.\n\
-Note that all commands recurse into subdirectories;\n\
+Note that all commands marked with a star (*) recurse into subdirectories;\n\
 prepend \`local-' to restrict operation to the current directory.\n\
-Example: \`local-clean'.\n"
+Example: \`local-clean'."
 
-# "
 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