]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/generic-targets.make
Remove StepMake as a separate package
[lilypond.git] / stepmake / stepmake / generic-targets.make
index 2df68ac3ca29746669b2677956ba5f3548cfa5f7..1fc60ba8c47ac6d4ec975113c22539d782465dec 100644 (file)
@@ -1,20 +1,26 @@
-.PHONY : all clean bin-clean config default dist doc exe help html lib TAGS\
-        po web web-1 WWW-1 WWW-2 WWW-post local-WWW-1 local-WWW-2\
-        web-install
+.PHONY : all clean bin-clean default dist exe help html lib TAGS\
+        po doc doc-stage-1 WWW-1 WWW-2 WWW-post local-WWW-1 local-WWW-2\
+        log-clean
 
 all:    default
        $(LOOP)
 
+bin:
+       $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C lily
+
 man:
        $(LOOP)
 
 clean: local-clean
-       -rm -rf "./$(outdir)"
+       -rm -rf $(outdir)
        $(LOOP)
 
+log-clean:
+       find . -name "*.log" -delete
+
 ifeq (,$(findstring metafont,$(STEPMAKE_TEMPLATES)))
 bin-clean: local-bin-clean
-       -rm -rf "./$(outdir)"
+       -rm -rf $(outdir)
        $(LOOP)
 else
 bin-clean:
@@ -28,66 +34,55 @@ dist:
 endif
 
 distclean: clean
-       $(LOOP)
        $(MAKE) local-distclean
 
 cvs-clean:
        $(MAKE) local-distclean
        rm -rf out
        rm -rf out-www
-       rm -f aclocal.m4 configure
+       rm -f configure
 
 maintainerclean:
        $(LOOP)
        $(MAKE) local-maintainerclean
        $(MAKE) local-distclean
 
-
-# This doesn't allow command-line options, is it really useful? -jm
-config:
-       ./$(src-depth)/configure
-
-
 generic-help:
-       @echo -e "\
-Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\
-Usage: make ["VARIABLE=value"]... [TARGET]\n\
-\n\
-Targets specific to current directory:\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 "Generic targets:\n\
-  all *       update everything except website documentation\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\
-  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\
-              and Info documentation with images\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 marked with a star (*) recurse into subdirectories;\n\
-prepend \`local-' to restrict operation to the current directory.\n\
-Example: \`local-clean'."
+       @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 "  bin          check the lily directory and rebuild lilypond.exe if needed"
+       @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 that contains a GNUmakefile."
 
 local-help:
 
-local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES)
-       mkdir -p $(distdir)/$(localdir)
-       $(LN) $(DIST_FILES:%=$(src-dir)/%) $(distdir)/$(localdir)
-
-       case "$(NON_ESSENTIAL_DIST_FILES)x" in x) ;; *) \
-               $(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);; \
+local-dist: $(OUT_DIST_FILES)
+       case "$(OUT_DIST_FILES)x" in x) ;; \
+            *) mkdir -p $(distdir)/$(localdir)/$(outdir) && \
+               $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/$(outdir);; \
        esac
        $(foreach i, $(SUBDIRS), $(MAKE) top-src-dir=$(top-src-dir) distdir=$(distdir) localdir=$(localdir)/$(notdir $(i)) -C $(i) local-dist &&) true
 
@@ -108,8 +103,10 @@ local-tags:
                        $(ERROR_LOG) ; \
        fi
 
-$(outdir)/version.hh: $(depth)/VERSION $(config_make) $(step-bindir)/make-version.py
-       $(PYTHON) $(step-bindir)/make-version.py $< > $@
+# Don't use $(buildscript-dir)/make-version, because it is not known whether
+# build process has visited scripts/build
+$(outdir)/version.hh: $(depth)/VERSION $(config_make) $(top-src-dir)/scripts/build/make-version.py
+       $(PYTHON) $(top-src-dir)/scripts/build/make-version.py $< > $@
 
 $(outdir)/config.hh: $(config_h)
        cp -p $< $@
@@ -175,9 +172,9 @@ $(config_make): $(top-src-dir)/configure
 # plus WWW-post (only at toplevel)
 # see INSTALL for more information.
 
+ifeq ($(out),www)
 local-WWW-1:
 local-WWW-2:
-web-install:
 WWW-post:
 
 WWW-1: local-WWW-1
@@ -185,15 +182,20 @@ WWW-1: local-WWW-1
 
 WWW-2: local-WWW-2
        $(LOOP)
+endif
 
-web:
-       $(MAKE) out=www WWW-1
+doc: doc-stage-1
        $(MAKE) out=www WWW-2
        $(MAKE) out=www WWW-post
 
-web-1:
+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
 
-web-clean:
-       find -name out-www | xargs rm -rf
+doc-clean:
        $(MAKE) out=www clean