git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Makefile: Add help target
@ 2010-09-28  8:13 Stephen Boyd
  2010-09-28  9:45 ` Junio C Hamano
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Boyd @ 2010-09-28  8:13 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

Today I forgot whether the target was quick-install-doc or
install-quick-doc and had to open the Makefile again to find out. I'd
rather not do that and just use:

	$ make help

to get a quick summary of the interesting targets when my brain fails to
refresh. Add a help target, but don't add uninteresting things like
strip, install-gitweb, or targets which alias (install-man).

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
---
 Makefile |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index b7a62cf..8c8fcb0 100644
--- a/Makefile
+++ b/Makefile
@@ -2366,3 +2366,43 @@ cover_db: coverage-report
 
 cover_db_html: cover_db
 	cover -report html -outputdir cover_db_html cover_db
+
+help:
+	@echo 'Cleaning targets:'
+	@echo '  clean      - Remove generated files but keep the configure script'
+	@echo '  distclean  - Remove generated files and the configure script'
+	@echo
+	@echo 'Packaging targets:'
+	@echo '  dist       - Build git-$(GIT_VERSION).tar.gz source tarball'
+	@echo '  rpm        - Build source and binary RPM packages'
+	@echo '  dist-doc   - Build $(manpages).tar.gz and $(htmldocs).tar.gz'
+	@echo
+	@echo 'Documentation targets:'
+	@echo '  doc     - Build man pages and HTML docs'
+	@echo '  man     - Build man pages'
+	@echo '  html    - Build HTML docs'
+	@echo '  info    - Build info docs'
+	@echo '  pdf     - Build PDF docs'
+	@echo
+	@echo 'Installation targets:'
+	@echo '  install             - Install the git suite'
+	@echo '  install-doc         - Install man pages'
+	@echo '  install-html        - Install HTML docs'
+	@echo '  install-info        - Install info docs'
+	@echo '  install-pdf         - Install PDF docs'
+	@echo '  quick-install-doc   - Install pregenerated man pages from origin/man'
+	@echo '  quick-install-html  - Install pregenerated HTML pages from origin/html'
+	@echo
+	@echo 'Common targets:'
+	@echo '  all            - Build the git suite'
+	@echo '  test           - Run the git test suite'
+	@echo
+	@echo 'Other targets:'
+	@echo '  tags/TAGS      - Generate tags for editors'
+	@echo '  cscope         - Generate cscope index'
+	@echo '  coverage       - Build git with gcov support and run the test suite'
+	@echo '  cover_db_html  - Generate HTML coverage report of the test suite coverage'
+	@echo '  check          - Check C sources with sparse'
+	@echo
+	@echo '  make V=1 [targets] verbose build'
+	@echo
-- 
1.7.3.16.g5d4d9

^ permalink raw reply related	[flat|nested] 33+ messages in thread
* [PATCH] Makefile: add help target
@ 2022-04-08  7:45 Elia Pinto
  2022-04-08  9:32 ` Philip Oakley
  2022-04-08 15:30 ` Taylor Blau
  0 siblings, 2 replies; 33+ messages in thread
From: Elia Pinto @ 2022-04-08  7:45 UTC (permalink / raw)
  To: git; +Cc: Elia Pinto

Add a help target to the Makefile to be able to run make help, in the same way
does the Makefiles self-generated by some build systems.

The target list has been statically extracted from the git Makefile with a
script and the results have been filtered in an essentially arbitrary way to
leave the ones that i imagines most interesting and frequent for a developer.

Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
---
The toy script I used is here
https://gist.github.com/devzero2000/cb887a6ba2764f7234191e560b64b7c8#file-list_targets_makefile-sh
 Makefile | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/Makefile b/Makefile
index e8aba291d7..f6d6de2eb9 100644
--- a/Makefile
+++ b/Makefile
@@ -3448,3 +3448,66 @@ $(FUZZ_PROGRAMS): all
 		$(XDIFF_OBJS) $(EXTLIBS) git.o $@.o $(LIB_FUZZING_ENGINE) -o $@
 
 fuzz-all: $(FUZZ_PROGRAMS)
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... build-perl-script"
+	@echo "... build-python-script"
+	@echo "... build-sh-script"
+	@echo "... check"
+	@echo "... check-builtins"
+	@echo "... check-docs"
+	@echo "... check-sha1"
+	@echo "... clean"
+	@echo "... clean-perl-script"
+	@echo "... clean-python-script"
+	@echo "... clean-sh-script"
+	@echo "... coccicheck"
+	@echo "... coccicheck-pending"
+	@echo "... cocciclean"
+	@echo "... configure"
+	@echo "... coverage"
+	@echo "... coverage-clean"
+	@echo "... coverage-clean-results"
+	@echo "... coverage-compile"
+	@echo "... coverage-prove"
+	@echo "... coverage-report"
+	@echo "... coverage-test"
+	@echo "... coverage-untested-functions"
+	@echo "... cover_db"
+	@echo "... cover_db_html"
+	@echo "... cscope"
+	@echo "... dist"
+	@echo "... distclean"
+	@echo "... dist-doc"
+	@echo "... doc"
+	@echo "... fuzz-all"
+	@echo "... fuzz-commit-graph"
+	@echo "... fuzz-objs"
+	@echo "... fuzz-pack-headers"
+	@echo "... fuzz-pack-idx"
+	@echo "... html"
+	@echo "... info"
+	@echo "... install"
+	@echo "... man"
+	@echo "... pdf"
+	@echo "... perf"
+	@echo "... profile"
+	@echo "... profile-clean"
+	@echo "... profile-fast"
+	@echo "... profile-fast-install"
+	@echo "... profile-install"
+	@echo "... quick-install-doc"
+	@echo "... quick-install-html"
+	@echo "... quick-install-man"
+	@echo "... reconfigure"
+	@echo "... rpm"
+	@echo "... sparse"
+	@echo "... strip"
+	@echo "... style"
+	@echo "... tags"
+	@echo "... TAGS"
+	@echo "... test"
+.PHONY : help
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread
* [PATCH] Makefile: Add help target
@ 2010-08-25  9:51 Stephen Boyd
  2010-08-25 16:27 ` Sverre Rabbelier
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Boyd @ 2010-08-25  9:51 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

Today I forgot whether the target was quick-install-doc or
install-quick-doc and had to open the Makefile again to find out. I'd
rather not do that and just use:

	$ make help

to get a quick summary of the interesting targets when my brain fails to
refresh. Add a help target, but don't add uninteresting things like
strip, install-gitweb, or targets which alias (install-man).

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
---

Some things I noticed:

 * make V=0 is verbose

 * sparse checking looks broken for the builtin/ directory structure

 * t/Makefile has a target for valgrind, but the toplevel makefile doesn't

 * 'make tags/TAGS/cscope' is always verbose

 * I stay up late on Tuesdays

 Makefile |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index b4745a5..8c90c33 100644
--- a/Makefile
+++ b/Makefile
@@ -2307,3 +2307,43 @@ coverage-report:
 	grep '^function.*called 0 ' *.c.gcov \
 		| sed -e 's/\([^:]*\)\.gcov: *function \([^ ]*\) called.*/\1: \2/' \
 		| tee coverage-untested-functions
+
+help:
+	@echo 'Cleaning targets:'
+	@echo '  clean      - Remove generated files but keep the configure script'
+	@echo '  distclean  - Remove generated files and the configure script'
+	@echo
+	@echo 'Packaging targets:'
+	@echo '  dist       - Build git-$(GIT_VERSION).tar.gz source tarball'
+	@echo '  rpm        - Build source and binary RPM packages'
+	@echo '  dist-doc   - Build $(manpages).tar.gz and $(htmldocs).tar.gz'
+	@echo
+	@echo 'Documentation targets:'
+	@echo '  doc     - Build man pages and HTML docs'
+	@echo '  man     - Build man pages'
+	@echo '  html    - Build HTML docs'
+	@echo '  info    - Build info docs'
+	@echo '  pdf     - Build PDF docs'
+	@echo
+	@echo 'Installation targets:'
+	@echo '  install             - Install the git suite'
+	@echo '  install-doc         - Install man pages'
+	@echo '  install-html        - Install HTML docs'
+	@echo '  install-info        - Install info docs'
+	@echo '  install-pdf         - Install PDF docs'
+	@echo '  quick-install-doc   - Install pregenerated man pages from origin/man'
+	@echo '  quick-install-html  - Install pregenerated HTML pages from origin/html'
+	@echo
+	@echo 'Common targets:'
+	@echo '  all            - Build the git suite'
+	@echo '  test           - Run the git test suite'
+	@echo
+	@echo 'Other targets:'
+	@echo '  tags/TAGS      - Generate tags for editors'
+	@echo '  cscope         - Generate cscope index'
+	@echo '  coverage       - Build git with gcov support, run the test suite, and'
+	@echo '                   report untested functions'
+	@echo '  check          - Check C sources with sparse'
+	@echo
+	@echo '  make V=1 [targets] verbose build'
+	@echo
-- 
1.7.2.2.169.gb5442

^ permalink raw reply related	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2022-04-08 18:58 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-28  8:13 [PATCH] Makefile: Add help target Stephen Boyd
2010-09-28  9:45 ` Junio C Hamano
2010-09-28 11:37   ` Sverre Rabbelier
2010-09-28 12:35     ` Andreas Ericsson
2010-09-28 14:44       ` [PATCH] Makefile: implement " Michael J Gruber
2010-09-28 14:48         ` Sverre Rabbelier
2010-09-28 14:57           ` Zbyszek Szmek
2010-09-28 14:54         ` Ævar Arnfjörð Bjarmason
2010-09-28 15:33         ` Junio C Hamano
2010-09-28 15:47           ` Michael J Gruber
2010-09-28 16:04             ` Ævar Arnfjörð Bjarmason
2010-09-28 20:38               ` [PATCHv2] " Michael J Gruber
2010-09-28 20:51                 ` Sverre Rabbelier
2010-09-28 21:24                 ` Jakub Narebski
2010-09-28 22:00                 ` Brandon Casey
2010-09-29  8:06                   ` Michael J Gruber
2010-09-29  5:16                 ` Jeff King
2010-09-29  7:03                   ` Michael J Gruber
2010-09-29  7:34                     ` Jeff King
2010-09-29 15:41                       ` Junio C Hamano
2010-09-29 20:15                         ` [PATCHv3] " Michael J Gruber
2010-09-29 20:39                           ` Junio C Hamano
2010-09-30  7:08                             ` Michael J Gruber
2010-09-29  6:10   ` [PATCH] Makefile: Add " yj2133011
  -- strict thread matches above, loose matches on Subject: below --
2022-04-08  7:45 [PATCH] Makefile: add " Elia Pinto
2022-04-08  9:32 ` Philip Oakley
2022-04-08 15:30 ` Taylor Blau
2022-04-08 15:44   ` Ævar Arnfjörð Bjarmason
2022-04-08 18:58   ` Junio C Hamano
2010-08-25  9:51 [PATCH] Makefile: Add " Stephen Boyd
2010-08-25 16:27 ` Sverre Rabbelier
2010-08-25 21:36   ` Stephen Boyd
2010-08-25 21:39     ` Sverre Rabbelier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).