diff options
-rw-r--r-- | PLANS/subdir-objects.txt | 10 | ||||
-rw-r--r-- | bin/automake.in | 20 | ||||
-rw-r--r-- | lib/am/depend.am | 7 | ||||
-rw-r--r-- | t/pr224.sh | 4 |
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 dd828da62..355d7ff30 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 3711d5d12..7fb8bb9be 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 7d907441c..bca1d3037 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 : |