From 9df285250bc30b5ba86a19c817eea0c56164e022 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Wed, 21 Aug 2019 01:02:43 +0200 Subject: [PATCH] Add new "make help" target * GNUmakefile: Add new "help" target that shows a brief summary of common make targets. (Bug#12411) * INSTALL * etc/NEWS: Announce it. --- GNUmakefile | 33 +++++++++++++++++++++++++++++++++ INSTALL | 3 +++ etc/NEWS | 2 ++ 3 files changed, 38 insertions(+) diff --git a/GNUmakefile b/GNUmakefile index a67624e1f73..274109ca484 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -32,6 +32,38 @@ # But run 'autogen.sh' first, if the source was checked out directly # from the repository. +# Display help. + +ifeq (help,$(filter help,$(MAKECMDGOALS))) +help: + @echo "NOTE: This is a brief summary of some common make targets." + @echo "For more detailed information, please read the files INSTALL," + @echo "INSTALL.REPO, Makefile or visit this URL:" + @echo "http://www.gnu.org/prep/standards/html_node/Standard-Targets.html" + @echo "" + @echo "make all -- compile and build Emacs" + @echo "make install -- install Emacs" + @echo "make TAGS -- update tags tables" + @echo "make clean -- delete built files but preserve configuration" + @echo "make mostlyclean -- like 'make clean', but leave those files that" + @echo " usually do not need to be recompiled" + @echo "make distclean -- delete all build and configuration files," + @echo " leave only files included in source distribution" + @echo "make maintainer-clean -- delete almost everything that can be regenerated" + @echo "make bootstrap -- delete all compiled files to force a new bootstrap" + @echo " from a clean slate, then build in the normal way" + @echo "make uninstall -- remove files installed by 'make install'" + @echo "make check -- run the Emacs test suite" + @echo "make docs -- generate Emacs documentation in info format" + @echo "make html -- generate documentation in html format" + @echo "make ps -- generate documentation in ps format" + @echo "make pdf -- generate documentation in pdf format " + @exit + +.PHONY: help + +else + # If a Makefile already exists, just use it. ifeq ($(wildcard Makefile),Makefile) @@ -82,3 +114,4 @@ bootstrap: Makefile endif endif +endif diff --git a/INSTALL b/INSTALL index 6934022c4e5..86f9e0080c1 100644 --- a/INSTALL +++ b/INSTALL @@ -109,6 +109,9 @@ sections if you need to. (provided you have the 'gzip' program) those installed Lisp source (.el) files that have corresponding .elc versions, as well as the Info files. + You can read a brief summary about common make targets: + + make help ADDITIONAL DISTRIBUTION FILES diff --git a/etc/NEWS b/etc/NEWS index cd9a0947b92..ddaee02e268 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -129,6 +129,8 @@ This is intended mostly to help developers. ** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3 builds respectively. +** New make target 'help' shows a summary of common make targets. + * Startup Changes in Emacs 27.1 -- 2.39.2