build: some refactorings in cfg.mk
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 30 Aug 2012 16:19:53 +0000 (18:19 +0200)
committerJim Meyering <meyering@redhat.com>
Fri, 31 Aug 2012 10:22:09 +0000 (12:22 +0200)
Partly a minor cleanup, partly a preparation for future changes.

* Makefile.am (all_programs): Rename ...
(all-progs-but-lbracket): ... like this, and re-define it to expand
at make time rather than only at recipe time (i.e., using $(shell ...)
instead of `...`).
(check-programs-vs-x): Adjust.

cfg.mk

diff --git a/cfg.mk b/cfg.mk
index b80a61f..92bbadc 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -206,16 +206,17 @@ check-x-vs-1:
          | $(ASSORT) -u | diff - $$t || { rm $$t; exit 1; };           \
        rm $$t
 
-all_programs =                                                         \
-      (cd ./src && MAKEFLAGS= $(MAKE) -s all_programs.list)            \
-       | grep -v '\['
+# Writing a portable rule to generate a manpage like '[.1' would be
+# a nightmare.
+all-progs-but-lbracket = $(filter-out [, $(shell \
+      (cd ./src && MAKEFLAGS= ${MAKE} -s all_programs.list)))
 
 # Ensure that for each .x file in the 'man/' subdirectory, there is a
 # corresponding coreutils program.
 .PHONY: check-programs-vs-x
 check-programs-vs-x: all_programs
        @status=0;                                      \
-       for p in dummy `$(all_programs)`; do            \
+       for p in dummy $(all-progs-but-lbracket); do    \
          test $$p = dummy && continue;                 \
          test $$p = ginstall && p=install || : ;       \
          test -f $(srcdir)/man/$$p.x                   \