git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv2] Makefile: implement help target

From
Jakub Narebski <jnareb@gmail.com>
Date
Sep 28, 2010, 21:24 UTC
Message-ID
<m3vd5pftox.fsf@localhost.localdomain>
In-Reply-To
<4fd8b490b4badd13c0ea46408e44dc7b317dc0ed.1285706151.git.git@drmicha.warpmail.net>

I'm sorry for duplicated post; I made mistake that made vger anti-SPAM filter stop it.

Michael J Gruber <git@drmicha.warpmail.net> writes:
Show 22 quoted lines
> with automatic help text collection from lines starting with "# Help: " and
> preceding a make target.
> 
> Suggested-by: Stephen Boyd <bebarino@gmail.com>
> Helped-by: Andreas Ericsson <andreas.ericsson@op5.se>
> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
> ---
> Now how's this for portability and such? New output:
> 
> Build targets:
>     all:                Build the Git suite
>     dist:               Build git-$(GIT_VERSION).tar.gz source
>     dist-doc:           Build $(manpages).tar.gz and $(htmldocs).tar.gz
>     doc:                Build man pages and HTML docs
>     html:               Build HTML doc
>     info:               Build info docs
>     man:                Build man pages
>     pdf:                Build PDF docs
>     rpm:                Build source and binary RPM packages
> Clean targets:
>     clean:              Remove generated files but keep the configure script
>     distclean:          Remove generated files and the configure script
[...]

Shouldn't some excerpt of this be put in the commit message as example output fragment?

Show 11 quoted lines
>  Makefile |   43 +++++++++++++++++++++++++++++++++++++++++--
>  1 files changed, 41 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index db2efd6..497dd92 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1,4 +1,5 @@
>  # The default target of this Makefile is...
> +# Help: Build: Build the Git suite
>  all::
[...]
>  ### Testing rules

Why can't you use existing headers in Makefile, like the one above, to divide list of targets in "make help" output into categories of targets?

> +
> +# Help: Help: Show help for main make targets
> +help:
> +	@awk '/^# Help:/ { l=substr($$0,8); \
Doesn't it need to be $(AWK) not awk?
Show 12 quoted lines
> +		getline; \
> +		j=index(l,":"); \
> +		print substr(l,1,j-1), substr($$0,1,index($$0,":")), substr(l,j+2); \
> +		}' <Makefile | sort | while read category target text; \
> +	do \
> +		test "$$category" = "$$currcat" || printf "$$category targets:\n"; \
> +		currcat="$$category"; \
> +		printf "    %-20s%s\n" "$$target" "$$text"; \
> +	done
> -- 
> 1.7.3.98.g5ad7d
> 
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Sverre RabbelierNext: Brandon Casey
Message 14 of 24 in “Makefile: Add help target”
  1. Makefile: Add help targetStephen Boyd, Sep 28, 2010
  2. Junio C HamanoSep 28, 2010
  3. Sverre RabbelierSep 28, 2010
  4. Andreas EricssonSep 28, 2010
  5. Makefile: implement help targetMichael J Gruber, Sep 28, 2010
  6. Sverre RabbelierSep 28, 2010
  7. Zbyszek SzmekSep 28, 2010
  8. Ævar Arnfjörð BjarmasonSep 28, 2010
  9. Junio C HamanoSep 28, 2010
  10. Michael J GruberSep 28, 2010
  11. Ævar Arnfjörð BjarmasonSep 28, 2010
  12. [PATCHv2] Makefile: implement help targetMichael J Gruber, Sep 28, 2010
  13. Sverre RabbelierSep 28, 2010
  14. Jakub NarebskiSep 28, 2010
  15. Brandon CaseySep 28, 2010
  16. Michael J GruberSep 29, 2010
  17. Jeff KingSep 29, 2010
  18. Michael J GruberSep 29, 2010
  19. Jeff KingSep 29, 2010
  20. Junio C HamanoSep 29, 2010
  21. [PATCHv3] Makefile: implement help targetMichael J Gruber, Sep 29, 2010
  22. Junio C HamanoSep 29, 2010
  23. Michael J GruberSep 30, 2010
  24. yj2133011Sep 29, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.