diff options
-rw-r--r-- | bin/automake.in | 7 | ||||
-rw-r--r-- | contrib/check-html.am | 3 | ||||
-rw-r--r-- | doc/automake.texi | 6 | ||||
-rw-r--r-- | lib/am/check.am | 4 | ||||
-rw-r--r-- | lib/am/progs.am | 9 |
5 files changed, 9 insertions, 20 deletions
diff --git a/bin/automake.in b/bin/automake.in index b847a0993..306913279 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -4733,12 +4733,7 @@ sub handle_clean prog_error 'invalid entry in %clean_files' unless exists $rms{$when}; - my $rm = "rm -f $file"; - # If file is a variable, make sure when don't call 'rm -f' without args. - $rm ="test -z \"$file\" || $rm" - if ($file =~ /^\s*\$(\(.*\)|\{.*\})\s*$/); - - push @{$rms{$when}}, "\t-$rm\n"; + push @{$rms{$when}}, "\t-\$(am__rm_f) $file\n"; } $output_rules .= file_contents diff --git a/contrib/check-html.am b/contrib/check-html.am index 1588acf2e..27bb62e8e 100644 --- a/contrib/check-html.am +++ b/contrib/check-html.am @@ -24,8 +24,7 @@ TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) mostlyclean-local: mostlyclean-check-html .PHONY: mostlyclean-check-html mostlyclean-check-html: -## Expand $(TEST_LOGS) only once, to avoid exceeding line length limits. - list='$(TEST_LOGS:.log=.html)'; test -z "$$list" || rm -f $$list + $(am__rm_f) $(TEST_LOGS:.log=.html) rm -f $(TEST_SUITE_HTML) .log.html: diff --git a/doc/automake.texi b/doc/automake.texi index 58156d9bf..ec14c5c4c 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -7527,8 +7527,8 @@ if you try to run @samp{make foo} explicitly: @example % make clean -test -z "bindir.h" || rm -f bindir.h -test -z "foo" || rm -f foo +rm -f bindir.h +rm -f foo rm -f *.o % : > .deps/foo.Po # Suppress previously recorded dependencies % make foo @@ -11324,7 +11324,7 @@ gcc -Wall -o foo main.o func.o @i{Clean up, so that we can rebuild everything from scratch.} % @kbd{make clean} -test -z "foo" || rm -f foo +rm -f foo rm -f *.o @i{Silent rules enabled: the output is minimal but informative. In diff --git a/lib/am/check.am b/lib/am/check.am index f0c9ddfbe..eca793582 100644 --- a/lib/am/check.am +++ b/lib/am/check.am @@ -405,8 +405,8 @@ RECHECK_LOGS = $(TEST_LOGS) ## ------------------------------------------ ## check-TESTS: %CHECK_DEPS% - @list='$(RECHECK_LOGS)'; $(am__rm_f) $$list - @list='$(RECHECK_LOGS:.log=.trs)'; $(am__rm_f) $$list + @$(am__rm_f) $(RECHECK_LOGS) + @$(am__rm_f) $(RECHECK_LOGS:.log=.trs) ## We always have to remove $(TEST_SUITE_LOG), to ensure its rule is run ## in any case even in lazy mode: otherwise, if no test needs rerunning, ## or a prior run plus reruns all happen within the same timestamp (can diff --git a/lib/am/progs.am b/lib/am/progs.am index 0b74cca2e..e665a1f51 100644 --- a/lib/am/progs.am +++ b/lib/am/progs.am @@ -114,13 +114,8 @@ clean-%DIR%PROGRAMS: ## Cleaning the '_libs/' or '.libs/' directory is done from clean-libtool. ## FIXME: In the future (i.e., when it works) it would be nice to delegate ## this task to "libtool --mode=clean". -?LIBTOOL? @list='$(%DIR%_PROGRAMS)'; test -n "$$list" || exit 0; \ -?LIBTOOL? echo " rm -f" $$list; \ -?LIBTOOL? rm -f $$list || exit $$?; \ -?LIBTOOL? test -n "$(EXEEXT)" || exit 0; \ -?LIBTOOL? list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ -?LIBTOOL? echo " rm -f" $$list; \ -?LIBTOOL? rm -f $$list +?LIBTOOL? $(am__rm_f) $(%DIR%_PROGRAMS) +?LIBTOOL? test -z "$(EXEEXT)" || $(am__rm_f) $(%DIR%_PROGRAMS:$(EXEEXT)=) ## ---------- ## |