Re: some minor errors in stow's Makefile.am

Stefano Lattarini <[email protected]> Tue, 6 Dec 2011 20:34:14 +0100
Newsgroups gmane.comp.gnu.stow.bugs
Message-ID <[email protected]>
Hi Adam, hope you don't mind another minor nitpick ...

On Tuesday 06 December 2011, Adam Spiers wrote:
> On Tue, Dec 6, 2011 at 12:30 PM, Stefano Lattarini
> <[email protected]> wrote:
> > Hi!
> >
> > While looking in stow's Makefile.am, I've noticed few minor errors
> > and blunders, and I think you might want to know about them.
> 
> Many thanks for this review Stefano, it's hugely helpful!  I will fix
> these and make a new release.
>
I still see this in stow's Makefile.am:

  CLEANFILES = $(bin_SCRIPTS) $(pm_DATA) $(dist_man_MANS) $(HTML) $(PDF) ChangeLog

which means that the distributed files $(dist_man_MANS), $(HTML), $(PDF)
and ChangeLog will still be removed by "make clean".  IMHO the following
would be better:

  CLEANFILES = $(bin_SCRIPTS) $(pm_DATA)
  MAINTAINERCLEANFILES = $(dist_man_MANS) $(HTML) $(PDF) ChangeLog

Also, the dependencies:

  dist-hook: $(dist_man_MANS) ChangeLog
  ChangeLog: doc/ChangeLog.OLD

will not ensuere that the ChangeLog will be remade at "make dist"
time, even if it is out-of-date w.r.t. the current git repository.

The following should offer a workaround, by forcing ChangeLog to
be rebuilt unconditionally upon creation of distribution tarballs
(untested!):

 dist-hook: $(dist_man_MANS)
## If we are creating a distribution from a git checkout, ensure
## the ChangeLog file is in sync the git repository.
	if test -d $(top_srcdir)/.git; then \
	  rm -f ChangeLog \
	    && $(MAKE) $(AM_MAKEFLAGS) ChangeLog \
	    && cp -f ChangeLog $(distdir)/ChangeLog; \
	else :; fi;

Regards,
  Stefano