summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/automake.in7
-rw-r--r--contrib/check-html.am3
-rw-r--r--doc/automake.texi6
-rw-r--r--lib/am/check.am4
-rw-r--r--lib/am/progs.am9
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)=)
## ---------- ##