Subject: "make dist" when "." is in SUBDIRS (was: Re: help help2man to find iwhd)

From: Stefano Lattarini <[email-masked]>
Date: Wed, 04 Jan 2012 13:09:40 +0100

retitle 9238 "make dist" when "." is in SUBDIRS
severity 9238 minor
thanks

References:
  <https://fedorahosted.org/pipermail/iwhd-devel/2011-August/000769.html>
  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9238>

Hi Jim, sorry for the delay.

Jim Meyering wrote:
>
> I took a look at the generated Makefile.in and conclude that
> there's an automake weakness when we use Makefile.am's SUBDIRS
> variable to kludge dependencies by specifying "." not at the
> end of the list.
>
> Notice how iwhd's Makefile.am is careful to list "." before "man"
> in the SUBDIRS list:
>
>    SUBDIRS = lib . gnulib-tests t man po
>
> With normal "recursive" rules, that ensures that iwhd is built
> in "." before the binary is needed by help2man in man/.
>
> However, the problem is that while all of automake's so-called
> RECURSIVE_TARGETS handle that special case of "." as expected,
> the "distdir" rule does not.  The distdir rule is at the core
> of what is run when you do "make distcheck", and it merely skips
> ".".
>
I'm not sure this can be qualified as a real weakness; could you show an
real-world (or potentially so) example where the behaviour of `distdir'
causes some concrete problem?

And yes, I believe that the iwhd issue is *not* such an example, because
even if you had everything under a single top-level directory, you would
still need to run "make all" before "make dist" to correctly have the
distributed `iwhd.8' manpage generated from the `iwhd' program (which
wouldn't be there if you hadn't run "make all" in advance!).

> [SNIP]

Thanks,
  Stefano