summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-09-01 01:46:41 +0200
committerJim Meyering <meyering@redhat.com>2012-09-01 21:25:13 +0200
commit08466b8f89f8468674640ee0691528b66358fe7c (patch)
tree5d96ed0f7f1da7e7a360462b4626ea66b81540fa
parent5e60e0d37e541d9f2311c7b60da61ba66a69f9e4 (diff)
downloadcoreutils-08466b8f89f8468674640ee0691528b66358fe7c.tar.xz
build: fix generation of manpages for programs not built by default
* src/local.mk (dist-hook): Don't use this to ensure all the programs, even the ones disabled by default or by the user, are built (doing so is required to ensure the distributed manpages are properly built). This would build those programs too late anyway, causing errors like: $ make dist make dist-xz am__post_remove_distdir='@:' make[1]: Entering directory `~/src/coreutils' GEN man/arch.1 help2man: can't get '--help' info from man/arch.td/arch make[1]: *** [man/arch.1] Error 127 make[1]: Leaving directory `~/src/coreutils' make: *** [dist] Error 2 Instead, ... * man/local.mk (extra_man_x, extra_man_1): define these ... ($(extra_man_1)): ... and make this depend on $(all_programs). (EXTRA_DIST): Adjust. Adjust some comments as well.
-rw-r--r--man/local.mk19
-rw-r--r--src/local.mk5
2 files changed, 12 insertions, 12 deletions
diff --git a/man/local.mk b/man/local.mk
index d42c98215..80519afce 100644
--- a/man/local.mk
+++ b/man/local.mk
@@ -25,13 +25,18 @@ MAINTAINERCLEANFILES += $(dist_man1_MANS)
# The "$(VAR:%=dir/%.x)" idiom is not portable according to POSIX, but in
# practice it works with several make implementation (GNU, BSD, CCS make
-# from Solaris 10, Sun distributed make). In addition, since only
-# maintainers are expected to build release tarballs (and they should
-# use GNU make when doing so), it's not big deal if this won't work with
-# some dumber make implementation.
-EXTRA_DIST += \
- $(NO_INSTALL_PROGS_DEFAULT:%=man/%.x) \
- $(NO_INSTALL_PROGS_DEFAULT:%=man/%.1)
+# from Solaris 10, Sun distributed make).
+extra_man_x = $(NO_INSTALL_PROGS_DEFAULT:%=man/%.x)
+extra_man_1 = $(NO_INSTALL_PROGS_DEFAULT:%=man/%.1)
+
+EXTRA_DIST += $(extra_man_1) $(extra_man_x)
+
+# This is required because we have subtle inter-directory dependencies:
+# in order to generate all man pages, even those for which we don't
+# install a binary, require that all programs be built at distribution
+# time. We can't use 'dist-hook' for this, since it would run too late:
+# the manpages must be generated before the distdir is created and filled.
+$(extra_man_1): $(all_programs)
# Depend on this to get version number changes.
mandep = .version
diff --git a/src/local.mk b/src/local.mk
index 45a6268e2..24462009f 100644
--- a/src/local.mk
+++ b/src/local.mk
@@ -495,11 +495,6 @@ all_programs.list:
| sed /libstdbuf/d \
| $(ASSORT) -u
-# This is required because we have broken inter-directory dependencies:
-# in order to generate all man pages, even those for which we don't
-# install a binary, require that all programs be built at distribution time.
-dist-hook: $(all_programs)
-
pm = progs-makefile
pr = progs-readme
# Ensure that the list of programs in README matches the list