aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Kangas2019-08-21 01:02:43 +0200
committerStefan Kangas2019-08-29 11:58:23 +0200
commit9df285250bc30b5ba86a19c817eea0c56164e022 (patch)
tree580377a6ecd161d728c1f93ef8c7de49001940eb
parentd87e9a59cde7466780c6c9bec4702665f7eb86e1 (diff)
downloademacs-9df285250bc30b5ba86a19c817eea0c56164e022.tar.gz
emacs-9df285250bc30b5ba86a19c817eea0c56164e022.zip
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.
-rw-r--r--GNUmakefile33
-rw-r--r--INSTALL3
-rw-r--r--etc/NEWS2
3 files changed, 38 insertions, 0 deletions
diff --git a/GNUmakefile b/GNUmakefile
index a67624e1f73..274109ca484 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -32,6 +32,38 @@
32# But run 'autogen.sh' first, if the source was checked out directly 32# But run 'autogen.sh' first, if the source was checked out directly
33# from the repository. 33# from the repository.
34 34
35# Display help.
36
37ifeq (help,$(filter help,$(MAKECMDGOALS)))
38help:
39 @echo "NOTE: This is a brief summary of some common make targets."
40 @echo "For more detailed information, please read the files INSTALL,"
41 @echo "INSTALL.REPO, Makefile or visit this URL:"
42 @echo "http://www.gnu.org/prep/standards/html_node/Standard-Targets.html"
43 @echo ""
44 @echo "make all -- compile and build Emacs"
45 @echo "make install -- install Emacs"
46 @echo "make TAGS -- update tags tables"
47 @echo "make clean -- delete built files but preserve configuration"
48 @echo "make mostlyclean -- like 'make clean', but leave those files that"
49 @echo " usually do not need to be recompiled"
50 @echo "make distclean -- delete all build and configuration files,"
51 @echo " leave only files included in source distribution"
52 @echo "make maintainer-clean -- delete almost everything that can be regenerated"
53 @echo "make bootstrap -- delete all compiled files to force a new bootstrap"
54 @echo " from a clean slate, then build in the normal way"
55 @echo "make uninstall -- remove files installed by 'make install'"
56 @echo "make check -- run the Emacs test suite"
57 @echo "make docs -- generate Emacs documentation in info format"
58 @echo "make html -- generate documentation in html format"
59 @echo "make ps -- generate documentation in ps format"
60 @echo "make pdf -- generate documentation in pdf format "
61 @exit
62
63.PHONY: help
64
65else
66
35# If a Makefile already exists, just use it. 67# If a Makefile already exists, just use it.
36 68
37ifeq ($(wildcard Makefile),Makefile) 69ifeq ($(wildcard Makefile),Makefile)
@@ -82,3 +114,4 @@ bootstrap: Makefile
82 114
83endif 115endif
84endif 116endif
117endif
diff --git a/INSTALL b/INSTALL
index 6934022c4e5..86f9e0080c1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -109,6 +109,9 @@ sections if you need to.
109 (provided you have the 'gzip' program) those installed Lisp source (.el) 109 (provided you have the 'gzip' program) those installed Lisp source (.el)
110 files that have corresponding .elc versions, as well as the Info files. 110 files that have corresponding .elc versions, as well as the Info files.
111 111
112 You can read a brief summary about common make targets:
113
114 make help
112 115
113ADDITIONAL DISTRIBUTION FILES 116ADDITIONAL DISTRIBUTION FILES
114 117
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.
129** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3 129** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3
130builds respectively. 130builds respectively.
131 131
132** New make target 'help' shows a summary of common make targets.
133
132 134
133* Startup Changes in Emacs 27.1 135* Startup Changes in Emacs 27.1
134 136