automake
[Top][All Lists]
Advanced

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

Re: Makefile dependency


From: Alexandre Duret-Lutz
Subject: Re: Makefile dependency
Date: Wed, 19 Nov 2003 21:09:31 +0100
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux)

>>> "Tom" == Tom Tromey <address@hidden> writes:

 >>>>>> "Ralf" == Ralf Corsepius <address@hidden> writes:
 Ralf> => automake-1.7's AM_MAINTAINER_MODE deactivates regeneration of
 Ralf> Makefile's. 

 Ralf> I am inclined to interpret this as a bug and/or regression from earlier
 Ralf> versions of automake.

 Tom> I agree.  

Thirded :)  (Lulin was taking about changing Makefile.am, though.)

I'm installing the following on HEAD and branch-1-7.  (Without
the test case on branch-1-7, because m4_includes are not
tracked.)

2003-11-19  Alexandre Duret-Lutz  <address@hidden>

        * lib/am/configure.am (%MAKEFILE%): Remove %MAINTAINER-MODE%,
        mistakenly added on 2001-03-05.
        * tests/remake5.test: New file.
        * tests/Makefile.am (TESTS): Add remake5.test.
        Report from Ralf Corsepius.

Index: lib/am/configure.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/configure.am,v
retrieving revision 1.27
diff -u -r1.27 configure.am
--- lib/am/configure.am 17 Nov 2003 09:05:30 -0000      1.27
+++ lib/am/configure.am 19 Nov 2003 20:02:51 -0000
@@ -58,7 +58,7 @@
 ## ./config.status to recreate the lost Makefile.
 .PRECIOUS: %MAKEFILE%
 ## This rule remakes the Makefile.
-%MAKEFILE%: %MAINTAINER-MODE% %MAKEFILE-DEPS% $(top_builddir)/config.status
+%MAKEFILE%: %MAKEFILE-DEPS% $(top_builddir)/config.status
 ## If Makefile is to be updated because of config.status, then run
 ## config.status without argument in order to (i) rerun all the
 ## AC_CONFIG_COMMANDS including those that are not visible to
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.530
diff -u -r1.530 Makefile.am
--- tests/Makefile.am   18 Nov 2003 20:40:48 -0000      1.530
+++ tests/Makefile.am   19 Nov 2003 20:02:51 -0000
@@ -390,6 +390,7 @@
 remake2.test \
 remake3.test \
 remake4.test \
+remake5.test \
 req.test \
 reqd.test \
 reqd2.test \
Index: tests/remake5.test
===================================================================
RCS file: tests/remake5.test
diff -N tests/remake5.test
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/remake5.test  19 Nov 2003 20:02:52 -0000
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Check that AM_MAINTAINER_MODE disable some rebuild rules,
+# but not all.
+# Report from Ralf Corsepius.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_MAINTAINER_MODE
+m4_include(foo.m4)
+if test ! -f rebuild_ok; then
+  ACLOCAL=false
+  AUTOMAKE=false
+  AUTOCONF=false
+fi
+AC_OUTPUT
+EOF
+
+: > foo.m4
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE
+
+# Make sure the rules to rebuild configure/Makefile.in are not
+# triggered by default.  ($MAKE will fail if they are, because the
+# tools are set to false.)
+$sleep
+touch aclocal.m4 Makefile.am configure.in foo.m4
+$MAKE
+
+# Make sure the rebuild rule for Makefile is triggered.
+$sleep
+echo '# GrEpMe' >>Makefile.in
+$MAKE
+grep GrEpMe Makefile
+
+# Make sure the rebuild rule for config.status is triggered.
+$sleep
+grep 'AUTOCONF.*=.*false' Makefile
+: > rebuild_ok
+./configure --no-create
+$MAKE
+grep 'AUTOCONF.*=.*false' Makefile && exit 1
+
+# Make sure rebuild rules do work if --enable-maintainer-mode is given.
+./configure --enable-maintainer-mode
+$sleep
+echo 'AC_SUBST([YIPPY_YIPPY_YEAH])' >foo.m4
+$MAKE
+grep YIPPY_YIPPY_YEAH Makefile
-- 
Alexandre Duret-Lutz





reply via email to

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