diff options
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | bin/automake.in | 4 | ||||
-rw-r--r-- | lib/Automake/Rule.pm | 2 | ||||
-rw-r--r-- | t/list-of-tests.mk | 1 | ||||
-rw-r--r-- | t/phony.sh | 1 | ||||
-rw-r--r-- | t/precious.sh | 32 |
7 files changed, 43 insertions, 3 deletions
@@ -93,6 +93,11 @@ New in 1.15: implementation of the TAP driver (that is documented in the manual) is more portable and has feature parity with the perl implementation. +* Bug fixes: + + - The user can now extend the special .PRECIOUS target, the same way + he could already do with the .MAKE .and .PHONY targets. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in 1.14.1: @@ -152,6 +152,7 @@ Harlan Stenn Harlan.Stenn@pfcs.com He Li tippa000@yahoo.com Henrik Frystyk Nielsen frystyk@w3.org Hib Eris hib@hiberis.nl +Holger Hans Peter Freyther holger@freyther.de Ian Lance Taylor ian@cygnus.com Ignacy Gawedzki i@lri.fr Илья Н. Голубев gin@mo.msk.ru diff --git a/bin/automake.in b/bin/automake.in index 283d1bbfe..880830022 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -4645,9 +4645,9 @@ sub handle_factored_dependencies () # to append dependencies. This would not work if Automake # refrained from defining its own .PHONY target as it does # with other overridden targets. - # Likewise for '.MAKE'. + # Likewise for '.MAKE' and '.PRECIOUS'. my @undefined_conds = (TRUE,); - if ($_ ne '.PHONY' && $_ ne '.MAKE') + if ($_ ne '.PHONY' && $_ ne '.MAKE' && $_ ne '.PRECIOUS') { @undefined_conds = Automake::Rule::define ($_, 'internal', diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm index a28a78d36..522700902 100644 --- a/lib/Automake/Rule.pm +++ b/lib/Automake/Rule.pm @@ -340,8 +340,8 @@ sub reset() # Tarballing. 'dist-all' => [], - # Phonying. '.PHONY' => [], + '.PRECIOUS' => [], # Recursive install targets (so "make -n install" works for BSD Make). '.MAKE' => [], ); diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 54afd8f56..a9694d816 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -838,6 +838,7 @@ t/percent.sh \ t/percent2.sh \ t/per-target-flags.sh \ t/phony.sh \ +t/precious.sh \ t/pluseq.sh \ t/pluseq2.sh \ t/pluseq3.sh \ diff --git a/t/phony.sh b/t/phony.sh index dd0c54a3f..a63277618 100644 --- a/t/phony.sh +++ b/t/phony.sh @@ -26,6 +26,7 @@ EOF $ACLOCAL $AUTOMAKE +$FGREP '.PHONY:' Makefile.in # For debugging. test $($FGREP -c '.PHONY:' Makefile.in) -eq 3 : diff --git a/t/precious.sh b/t/precious.sh new file mode 100644 index 000000000..875030530 --- /dev/null +++ b/t/precious.sh @@ -0,0 +1,32 @@ +#!/bin/sh +# Copyright (C) 2013 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 +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + +# Make sure .PRECIOUS can be extended by the user, and can be given +# dependencies several times. + +. test-init.sh + +cat >Makefile.am << 'EOF' +.PRECIOUS: foo +.PRECIOUS: bar +EOF + +$ACLOCAL +$AUTOMAKE +$FGREP '.PRECIOUS:' Makefile.in # For debugging. +test $($FGREP -c '.PRECIOUS:' Makefile.in) -eq 3 + +: |