On 09/01/2012 10:20 AM, Stefano Lattarini wrote: > On 09/01/2012 10:08 AM, Jim Meyering wrote: >> Stefano Lattarini wrote: >>> This is a re-spin, extension and follow-up to this previous series: >>> >>> <http://lists.gnu.org/archive/html/coreutils/2012-08/msg00257.html> >>> >>> plus other follow-up fixlets and refactoring. Thanks to Jim Meyering >>> for his testing of earlier iterations of this series, and his relentless >>> reporting of problems and errors. >> >> Thanks for all of the work. >> However, even with all of that, "make distcheck" still fails, when >> trying to build prog.1 when the required src/prog does not yet exist. >> (it must be run with --help) >> >> Here's a first required patch. >> >> From cecef0d2f7ff7e4092cc991a7b8d2b0bceadf0ee Mon Sep 17 00:00:00 2001 >> From: Jim Meyering <[email protected]> >> Date: Sat, 1 Sep 2012 10:00:26 +0200 >> Subject: [PATCH] build: make each man/prog.1 depend on src/prog, not >> src/prog.c >> >> * man/local.mk: Creating a prog.1 man page requires running >> src/prog --help. >> List the exceptions, e.g., install.1 depends on src/ginstall >> and arch.1 depends on src/uname. >> > But this will force the users to have perl installed, since help2man > will now have to be run unconditionally after the compilation step. > Oops, sorry, I take that back. I see that the '.x.1' suffix rule will be a no-op when perl is missing, so the users lacking perl will just see a bunch of extra warning messages, but will have no real issue with "make install" since the manpages will still distributed.
This is not so obvious at a first glance, and deserves an explanatory comment in the code IMHO. The catch is that, after you patch, all the users with perl will have two copies of each manapge: one in $(srcdir), distributed, and one in $(builddir), rebuilt by "make all". Which is a sort of confusion for humans, and might maybe confuse some make implementation too ... Regards, Stefano
