automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "$(MAKE) %STAMP%" without $(AM_MAKEFLAGS)?


From: Alexandre Duret-Lutz
Subject: Re: "$(MAKE) %STAMP%" without $(AM_MAKEFLAGS)?
Date: Sun, 07 Aug 2005 10:30:20 +0200
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/22.0.50 (gnu/linux)

>>> "SK" == Stepan Kasal <address@hidden> writes:

 SK> Hello,
 SK> I have noticed the following:
 SK> file lib/am/remake-hdr.am  contains command

 SK> $(MAKE) %STAMP%

 SK> while I'd expect the usual $(MAKE) $(AM_MAKEFLAGS) %STAMP% for the
 SK> recursive call of make.

 SK> Similar with %DIRSTAMP% in texibuild.am and texi-vers.am .

 SK> Isn't this a bug?

Thanks.  I'm installing this on HEAD.

2005-08-07  Alexandre Duret-Lutz  <address@hidden>

        * automake.in (lang_yacc_target_hook): Use AM_MAKEFLAGS in recursive
        $(MAKE) invocations.
        * lib/am/texibuild.am (?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%):
        Likewise.
        * lib/am/texi-vers.am (%STAMPVTI%): Likewise.
        * lib/am/remake-hdr.am (%CONFIG_H%): Likewise.
        * Makefile.am (maintainer-check): Check for this.
        Report from Stepan Kasal.

Index: Makefile.am
===================================================================
RCS file: /cvs/automake/automake/Makefile.am,v
retrieving revision 1.240
diff -u -r1.240 Makefile.am
--- Makefile.am 19 Jul 2005 19:19:17 -0000      1.240
+++ Makefile.am 7 Aug 2005 08:27:11 -0000
@@ -2,7 +2,7 @@
 
 ## Makefile for Automake.
 
-## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
+## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
 ## Free Software Foundation, Inc.
 
 ## This program is free software; you can redistribute it and/or modify
@@ -184,6 +184,12 @@
          exit 1; \
        fi
 ## Tests should never call make directly.
+       @if grep '^[^#].*(MAKE) ' $(srcdir)/lib/am/*.am $(srcdir)/automake.in |\
+               grep -v 'AM_MAKEFLAGS'; then \
+         echo 'Use $$(MAKE) $$(AM_MAKEFLAGS).' 1>&2; \
+         exit 1; \
+       fi
+## Tests should never call make directly.
        @if grep -v '^#' $(srcdir)/tests/*.test | grep ':[      ]*make'; then \
          echo 'Do not run "make" in the above tests.  Use "$$MAKE" instead.' 
1>&2; \
          exit 1; \
Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1609
diff -u -r1.1609 automake.in
--- automake.in 27 Jul 2005 11:09:45 -0000      1.1609
+++ automake.in 7 Aug 2005 08:27:12 -0000
@@ -5425,12 +5425,13 @@
                                                  INTERNAL))
          {
            my $condstr = $cond->subst_string;
-           $output_rules .= ("$condstr${header}: $output\n"
-                             # Recover from removal of $header
-                             . "address@hidden test ! -f \$@; then \\\n"
-                             . "$condstr\t  rm -f $output; \\\n"
-                             . "$condstr\t  \$(MAKE) $output; \\\n"
-                             . "$condstr\telse :; fi\n");
+           $output_rules .=
+             "$condstr${header}: $output\n"
+             # Recover from removal of $header
+             . "address@hidden test ! -f \$@; then \\\n"
+             . "$condstr\t  rm -f $output; \\\n"
+             . "$condstr\t  \$(MAKE) $(AM_MAKEFLAGS) $output; \\\n"
+             . "$condstr\telse :; fi\n";
          }
        # Distribute the generated file, unless its .y source was
        # listed in a nodist_ variable.  (&handle_source_transform
Index: lib/am/remake-hdr.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/remake-hdr.am,v
retrieving revision 1.45
diff -u -r1.45 remake-hdr.am
--- lib/am/remake-hdr.am        14 May 2005 20:28:53 -0000      1.45
+++ lib/am/remake-hdr.am        7 Aug 2005 08:27:12 -0000
@@ -1,5 +1,5 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004, 2005
 ## Free Software Foundation, Inc.
 
 ## This program is free software; you can redistribute it and/or modify
@@ -24,7 +24,7 @@
 ## Recover from removal of CONFIG_HEADER
        @if test ! -f $@; then \
          rm -f %STAMP%; \
-         $(MAKE) %STAMP%; \
+         $(MAKE) $(AM_MAKEFLAGS) %STAMP%; \
        else :; fi
 
 
Index: lib/am/texi-vers.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/texi-vers.am,v
retrieving revision 1.27
diff -u -r1.27 texi-vers.am
--- lib/am/texi-vers.am 14 May 2005 20:28:53 -0000      1.27
+++ lib/am/texi-vers.am 7 Aug 2005 08:27:12 -0000
@@ -1,6 +1,6 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-## Free Software Foundation, Inc.
+## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003,
+## 2004, 2005  Free Software Foundation, Inc.
 
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -34,7 +34,7 @@
 ## %STAMPVTI% is distributed and %DIRSTAMP% isn't: a distributed file
 ## should never be dependent upon a non-distributed built file.
 ## Therefore we ensure that %DIRSTAMP% exists in the rule.
-?DIRSTAMP?     test -f %DIRSTAMP% || $(MAKE) %DIRSTAMP%
+?DIRSTAMP?     test -f %DIRSTAMP% || $(MAKE) $(AM_MAKEFLAGS) %DIRSTAMP%
        @(dir=.; test -f ./%TEXI% || dir=$(srcdir); \
        set `$(SHELL) %MDDIR%mdate-sh $$dir/%TEXI%`; \
        echo "@set UPDATED $$1 $$2 $$3"; \
Index: lib/am/texibuild.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/texibuild.am,v
retrieving revision 1.26
diff -u -r1.26 texibuild.am
--- lib/am/texibuild.am 10 Jun 2005 22:10:39 -0000      1.26
+++ lib/am/texibuild.am 7 Aug 2005 08:27:12 -0000
@@ -24,7 +24,7 @@
 ## `info' files are distributed and %DIRSTAMP% isn't: a distributed file
 ## should never be dependent upon a non-distributed built file.
 ## Therefore we ensure that %DIRSTAMP% exists in the rule.
-?!INSRC??DIRSTAMP?     @test -f %DIRSTAMP% || $(MAKE) %DIRSTAMP%
+?!INSRC??DIRSTAMP?     @test -f %DIRSTAMP% || $(MAKE) $(AM_MAKEFLAGS) 
%DIRSTAMP%
 ## Back up the info files before running makeinfo. This is the cheapest
 ## way to ensure that
 ## 1) If the texinfo file shrinks (or if you start using --no-split),

-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]