[Top][All Lists]
[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