Subject: Re: [PATCHv2] Makefile: implement help target

From: Michael J Gruber <[email-masked]>
Date: Wed, 29 Sep 2010 10:06:05 +0200

Brandon Casey venit, vidit, dixit 29.09.2010 00:00:
> On 09/28/2010 03:38 PM, Michael J Gruber wrote:
>> with automatic help text collection from lines starting with "# Help: " and
>> preceding a make target.
>>
>> Suggested-by: Stephen Boyd <[email-masked]>
>> Helped-by: Andreas Ericsson <[email-masked]>
>> Signed-off-by: Michael J Gruber <[email-masked]>
>> ---
>> 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
> <snip>
> 
>>  Makefile |   43 +++++++++++++++++++++++++++++++++++++++++--
>>  1 files changed, 41 insertions(+), 2 deletions(-)
> 
> 
> Very nice.  Too bad we have more targets than fit in my 33-line terminal.
> 
> /bikeshed
> 
> How about this micro-tweak:
> 
>   1) Remove the colon from the targets so they sort correctly.
>      i.e. so "dist" sorts before "dist-doc" and "install" sorts
>           before "install-*"
>   2) Add " - " prefix to description strings and reduce target
>      width accordingly so we still have just as much room for
>      the description string.
> 
> So the output looks like this:
> 
....
> Install targets:
>     install            - Install the Git suite
>     install-doc        - Install man pages
>     install-html       - Install HTML docs
>     install-info       - Install info docs
>     install-man        - Install man pages
>     install-pdf        - Install PDF docs
>     quick-install-doc  - Install pregenerated man pages from origin/man
>     quick-install-html - Install pregenerated HTML pages from origin/html
>     quick-install-man  - Install pregenerated man pages from origin/man

Sounds good, although the sort order depends on the locale. "LANG=C
sort" takes care of that.

> Oh, by the way, tested and works on Solaris 10 and IRIX 6.5.

Thanks!
Michael