Subject: Re: [PATCH 4/6] GITWEB - Makefile changes

From: Jakub Narebski <[email-masked]>
Date: Fri, 11 Dec 2009 06:28:31 -0800 (PST)

"John 'Warthog9' Hawley" <[email-masked]> writes:

Below are _proposed_ changes to make commit message easier to read, in
my opinion.  But they are not _necessary_ changes.

> This adjust the makefiles so that you can do such things as

Add "gitweb" target to main Makefile so you would be able to simply
use

> 
> 	make gitweb
> 
> from the top level make tree,

instead of requiring to spell it in full

	make gitweb/gitweb.cgi

>                               or if your in the gitweb directory
> itself typing

Add Makefile in gitweb subdirectory so one can simply run
> 	make

when in gitweb subdirectory,

> 
> will call back up to the main Makefile and build gitweb
> 
> Signed-off-by: John 'Warthog9' Hawley <[email-masked]>

Signoff mismatch.

> ---
>  Makefile        |    4 +++-
>  gitweb/Makefile |   14 ++++++++++++++
>  2 files changed, 17 insertions(+), 1 deletions(-)
>  create mode 100644 gitweb/Makefile

IMPORTANT!

A note about this change: I think it would be better to move creating
gitweb.cgi (and optionally gitweb.min.js) to gitweb/Makefile, and make
main Makefile call gitweb/Makefile, and not vice versa like in your
solution.

If it is possible.
 
> diff --git a/Makefile b/Makefile
> index 4a1e5bc..8db9d01 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1509,6 +1509,8 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
>  	chmod +x $@+ && \
>  	mv $@+ $@
>  
> +.PHONY: gitweb

Why it is here, and not with the .PHONY block at line 1924 of
Makefile?  It would be nice to have comment supporting this choice in
email with this patch (or in commit message).

> +gitweb: gitweb/gitweb.cgi
>  ifdef JSMIN
>  OTHER_PROGRAMS += gitweb/gitweb.cgi   gitweb/gitweb.min.js
>  gitweb/gitweb.cgi: gitweb/gitweb.perl gitweb/gitweb.min.js
> @@ -1537,7 +1539,7 @@ endif
>  	    -e 's|++GITWEB_JS++|$(GITWEB_JS)|g' \
>  	    -e 's|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \
>  	    -e 's|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \
> -	    $< >$@+ && \
> +	    $(patsubst %.cgi,%.perl,$@) >$@+ && \

Why this change?

>  	chmod +x $@+ && \
>  	mv $@+ $@
>  
> diff --git a/gitweb/Makefile b/gitweb/Makefile
> new file mode 100644
> index 0000000..8d318b3
> --- /dev/null
> +++ b/gitweb/Makefile
> @@ -0,0 +1,14 @@
> +SHELL = /bin/bash

Why is this needed?

> +
> +FILES = gitweb.cgi
> +
> +.PHONY: $(FILES)

Why .PHONY?  $(FILES) are created.

> +
> +all: $(FILES)
> +
> +$(FILES):
> +	$(MAKE) $(MFLAGS) -C ../ -f Makefile gitweb/$@
> +
> +clean:
> +	rm -rf $(FILES)
> +

-- 
Jakub Narebski
Poland
ShadeHawk on #git