summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PLANS/subdir-objects.txt10
-rw-r--r--bin/automake.in20
-rw-r--r--lib/am/depend.am7
-rw-r--r--t/pr224.sh4
4 files changed, 19 insertions, 22 deletions
diff --git a/PLANS/subdir-objects.txt b/PLANS/subdir-objects.txt
index 3cf610124..c849e338e 100644
--- a/PLANS/subdir-objects.txt
+++ b/PLANS/subdir-objects.txt
@@ -5,9 +5,6 @@ We want to make the behaviour currently enabled by the 'subdir-objects'
the default one, and in fact the *only* one, in Automake 2.0.
See automake bug#13378: <http://debbugs.gnu.org/13378>.
-Sadly, **THIS IS IMPOSSIBLE** until automake bug#13928 is resolved:
-http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928
-
Details
-------
@@ -53,11 +50,10 @@ We also make sure to avoid the warning when it would be irrelevant, i.e.,
if all source files sit in "current" directory (thanks to Peter Johansson
for suggesting this).
-For some automake 1.x (*before* 2.0 can be released)
-----------------------------------------------------
+For automake 1.16 (*before* 2.0 can be released)
+------------------------------------------------
-Find a proper way to fix the blocking automake bug#13928:
-http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928
+Submit the pending patch series that fixes http://debbugs.gnu.org/13928
For automake 2.0
----------------
diff --git a/bin/automake.in b/bin/automake.in
index d8ecca514..21cccbe9e 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -1242,14 +1242,16 @@ sub handle_languages ()
INTERNAL);
define_variable ('am__maybe_remake_depfiles', 'depfiles', INTERNAL);
define_variable ('am__depfiles_remade', "@dep_files", INTERNAL);
- # Generate each 'include' directive individually. Several make
- # implementations (IRIX 6, Solaris 10, FreeBSD 8) will fail to
- # properly include several files resulting from a variable
- # expansion. Just Generating many separate includes seems thus
- # safest.
$output_rules .= "\n";
+ my @dist_rms;
foreach my $depfile (@dep_files)
{
+ push @dist_rms, "\t-rm -f $depfile";
+ # Generate each 'include' directive individually. Several
+ # make implementations (IRIX 6, Solaris 10, FreeBSD 8) will
+ # fail to properly include several files resulting from a
+ # variable expansion. Just Generating many separate includes
+ # seems thus safest.
$output_rules .= subst ('AMDEP_TRUE') .
subst ('am__include') .
" " .
@@ -1262,11 +1264,9 @@ sub handle_languages ()
require_conf_file ("$am_file.am", FOREIGN, 'depcomp');
- # Compute the set of directories to remove in distclean-depend.
- my @dep_dirs = uniq (map { dirname ($_) } @dep_files);
- $output_rules .= file_contents ('depend',
- new Automake::Location,
- DEPDIRS => "@dep_dirs");
+ $output_rules .= file_contents (
+ 'depend', new Automake::Location,
+ 'DISTRMS' => join ("\n", @dist_rms));
}
}
else
diff --git a/lib/am/depend.am b/lib/am/depend.am
index 0b226b6ba..3813996ec 100644
--- a/lib/am/depend.am
+++ b/lib/am/depend.am
@@ -27,8 +27,9 @@ am--depfiles: $(am__depfiles_remade)
## erase them in -am or -recursive rules; that would prevent any other
## rules from being recursive (for instance multilib clean rules are
## recursive).
+if %?DISTRMS%
distclean:
- -rm -rf %DEPDIRS%
-
+ %DISTRMS%
maintainer-clean:
- -rm -rf %DEPDIRS%
+ %DISTRMS%
+endif
diff --git a/t/pr224.sh b/t/pr224.sh
index fcea14865..1961786b1 100644
--- a/t/pr224.sh
+++ b/t/pr224.sh
@@ -56,8 +56,8 @@ cd build
../configure
$MAKE
-test -d foo/.deps
+test -f foo/.deps/main.Po
$MAKE distclean
-test -d foo/.deps && exit 1
+test ! -e foo/.deps/main.Po
: