Subject: Re: [RFC/PATCHv2 1/2] Starting work on a man page for /etc/gitweb.conf (WIP)

From: Jakub Narebski <[email-masked]>
Date: Sun, 29 May 2011 22:58:39 +0200

On Sun, 29 May 2011, Junio C Hamano wrote:
> Jakub Narebski <[email-masked]> writes:
> 
> > diff --git a/gitweb/Makefile b/gitweb/Makefile
> > index 0a6ac00..582e1b0 100644
> > --- a/gitweb/Makefile
> > +++ b/gitweb/Makefile
> > @@ -112,6 +112,14 @@ endif
> >  
> >  GITWEB_FILES += static/git-logo.png static/git-favicon.png
> >  
> > +GITWEB_MAN5_TXT = gitweb.conf.txt
> > +GITWEB_MAN_TXT = $(GITWEB_MAN1_TXT) $(GITWEB_MAN5_TXT) $(GITWEB_MAN7_TXT)
> > +GITWEB_MAN = $(patsubst %.txt,%.1,$(GITWEB_MAN1_TXT)) \
> > +             $(patsubst %.txt,%.5,$(GITWEB_MAN5_TXT)) \
> > +             $(patsubst %.txt,%.7,$(GITWEB_MAN7_TXT))
> > +GITWEB_HTML= $(patsubst %.txt,%.html,$(GITWEB_MAN_TXT))
> > +GITWEB_DOC = $(GITWEB_MAN) $(GITWEB_HTML)
> > +
> >  GITWEB_REPLACE = \
> >  	-e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
> >  	-e 's|++GIT_BINDIR++|$(bindir)|g' \
> > @@ -155,6 +163,11 @@ test-installed:
> >  	GITWEB_TEST_INSTALLED='$(DESTDIR_SQ)$(gitwebdir_SQ)' \
> >  		$(MAKE) -C ../t gitweb-test
> >  
> > +### Documentation
> > +
> > +doc:
> > +	$(MAKE) -C ../Documentation $(GITWEB_DOC)
> > +
> >  ### Installation rules
> >  
> >  install: all
> 
> I am not sure if this target is needed or even desirable.

Well, this is the target that it is nice to have.  The implementation
needs to be improved, as you noticed.

> The only potential benefit this complexity and risk of these build
> procedure knowledge diverge what is in ../Documentation is to let you say
> "cd gitweb && make doc" and avoid building the rest of the documentation,
> but I personally do not find it necessary at all.
> 
> Aren't you making a mistake similar to the one that let instaweb have
> intimate and unnecessary knowledge of how to build gitweb, which you
> recently cleaned up?

Thanks for sanity check!

Instead of duplicating Documentation/Makefile knowledge in gitweb/Makefile,
let's just proxy to Documentation/Makefile like for 'test' target:

  +doc:
  +	$(MAKE) -C ../Documentation gitweb
  +

In Documentation/Makefile the new 'gitweb' target could look just like
this:

  +GITWEB_DOC = $(filter gitweb.%,$(DOC_HTML) $(DOC_MAN1) $(DOC_MAN5) $(DOC_MAN7)) 
  +gitweb: $(GITWEB_DOC)

And it would be much shorter, too.

-- 
Jakub Narebski
Poland