[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make -q and maintainer-makefile issues?
From: |
Bruno Haible |
Subject: |
Re: make -q and maintainer-makefile issues? |
Date: |
Sat, 13 Aug 2011 20:10:12 +0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) |
Hi Paul,
> diff --git a/ChangeLog b/ChangeLog
> index d020dd5..3a798cf 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,5 +1,13 @@
> 2011-08-11 Paul Eggert <address@hidden>
>
> + 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 address@hidden@
> +all: address@hidden@
>
> 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 || { \
Why can't this be done by adding the line
.PHONY: check-macro-version
? I just tried it, "make -q -d" outputs
...
Considering target file `all'.
File `all' does not exist.
Looking for an implicit rule for `all'.
...
No implicit rule found for `all'.
Considering target file `check-macro-version'.
File `check-macro-version' does not exist.
Finished prerequisites of target file `check-macro-version'.
Must remake target `check-macro-version'.
Target file `check-macro-version' needs remade under -q.
Finished prerequisites of target file `all'.
Giving up on target file `all'.
and terminates with exit code 1.
Why is that? Why is "make -q" looking for a file 'check-macro-version'
although the target is declared phony?
Does it mean phony targets are generally incompatible with "make -q"?
I'm referring to the GNU make documentation, which says:
`.PHONY'
The prerequisites of the special target `.PHONY' are considered to
be phony targets. When it is time to consider such a target,
`make' will run its commands unconditionally, regardless of
whether a file with that name exists or what its last-modification
time is.
and I'm using GNU make 3.81. GNU make 3.82 behaves the same way.
Bruno
--
In memoriam Paul Richter <http://de.wikipedia.org/wiki/Paul_Richter_(Pfarrer)>
Re: make -q and maintainer-makefile issues?,
Bruno Haible <=
- Re: make -q and maintainer-makefile issues?, Paul Eggert, 2011/08/13
- Re: make -q and maintainer-makefile issues?, Bruno Haible, 2011/08/13
- Re: make -q and maintainer-makefile issues?, Paul Eggert, 2011/08/13
- Re: make -q and maintainer-makefile issues?, Bruno Haible, 2011/08/14
- Re: make -q and maintainer-makefile issues?, Paul Eggert, 2011/08/14
- Re: make -q and maintainer-makefile issues?, Bruno Haible, 2011/08/14
- Re: make -q and maintainer-makefile issues?, Paul Eggert, 2011/08/15
Re: make -q and maintainer-makefile issues?, Bruno Haible, 2011/08/18