On 08/10/2011 02:36 PM, Simon Josefsson wrote: > A user reported that 'make -q' didn't work: > > http://permalink.gmane.org/gmane.comp.gnu.libidn.general/329 > > and I cannot seem to debug this properly.
I used "make -d" with coreutils, and found a couple of problems in both gnulib and coreutils. I pushed the following into gnulib to fix its problems with "make -q". I'll look at coreutils shortly. >From 234576dda786bb799607483df76df34023263721 Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Thu, 11 Aug 2011 11:20:28 -0700 Subject: [PATCH 1/2] configmake: fix make -q problem * modules/configmake (configmake.h): Update configmake.h's time stamp even if the file does not change. Otherwise, 'make -q' fails. Problem reported by Simon Josefsson in <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>. --- ChangeLog | 8 ++++++++ modules/configmake | 8 ++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index f6e27cd..d020dd5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-08-11 Paul Eggert <egg...@cs.ucla.edu> + + configmake: fix make -q problem + * modules/configmake (configmake.h): Update configmake.h's time stamp + even if the file does not change. Otherwise, 'make -q' fails. + Problem reported by Simon Josefsson in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>. + 2011-08-11 Jim Meyering <meyer...@redhat.com> git-version-gen: correct the advice in a comment diff --git a/modules/configmake b/modules/configmake index a387984..46c0fcc 100644 --- a/modules/configmake +++ b/modules/configmake @@ -44,12 +44,8 @@ configmake.h: Makefile echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ - } | sed '/""/d' > $@-t && \ - if test -f $@ && cmp $@-t $@ > /dev/null; then \ - rm -f $@-t; \ - else \ - rm -f $@; mv $@-t $@; \ - fi + } | sed '/""/d' > $@-t + mv -f $@-t $@ BUILT_SOURCES += configmake.h CLEANFILES += configmake.h configmake.h-t -- 1.7.4.4 >From 94c0bb57110d59a21a6c6e2ea4f48973a5fbc3e1 Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Thu, 11 Aug 2011 10:46:26 -0700 Subject: [PATCH 2/2] po/Makefile.in.in: fix make -q problem * build-aux/po/Makefile.in.in (check-macro-version): Remove this rule, since there's no file named 'check-macro-version' and its use as a file breaks make -q. (all): Don't depend on check-macro-version. (CHECK_MACRO_VERSION): New macro. (stamp-po): Use it. --- ChangeLog | 8 ++++++++ build-aux/po/Makefile.in.in | 7 ++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d020dd5..3a798cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2011-08-11 Paul Eggert <egg...@cs.ucla.edu> + po/Makefile.in.in: fix make -q problem + * build-aux/po/Makefile.in.in (check-macro-version): Remove this + rule, since there's no file named 'check-macro-version' and its + use as a file breaks make -q. + (all): Don't depend on check-macro-version. + (CHECK_MACRO_VERSION): New macro. + (stamp-po): Use it. + configmake: fix make -q problem * modules/configmake (configmake.h): Update configmake.h's time stamp even if the file does not change. Otherwise, 'make -q' fails. diff --git a/build-aux/po/Makefile.in.in b/build-aux/po/Makefile.in.in index 83d8838..caedd7f 100644 --- a/build-aux/po/Makefile.in.in +++ b/build-aux/po/Makefile.in.in @@ -96,14 +96,14 @@ CATALOGS = @CATALOGS@ mv t-$@ $@ -all: check-macro-version all-@USE_NLS@ +all: all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. -check-macro-version: - @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ +CHECK_MACRO_VERSION = \ + test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } @@ -123,6 +123,7 @@ check-macro-version: # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot + @$(CHECK_MACRO_VERSION) test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ -- 1.7.4.4