summaryrefslogtreecommitdiff
path: root/dh_auto_clean
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-04-23 15:57:17 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-04-23 15:57:17 -0400
commitbf2778d7ca2f11d3584ff1d49c15df1238062107 (patch)
treee7495182da6882740820259eff884adf098766af /dh_auto_clean
parente55c32e8b1292342b443e204807460dc597bf939 (diff)
new method to tell if a makefile contains a target
Diffstat (limited to 'dh_auto_clean')
-rwxr-xr-xdh_auto_clean11
1 files changed, 4 insertions, 7 deletions
diff --git a/dh_auto_clean b/dh_auto_clean
index 222edec..9a81145 100755
--- a/dh_auto_clean
+++ b/dh_auto_clean
@@ -43,14 +43,11 @@ init();
if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
$ENV{MAKE}="make" unless exists $ENV{MAKE};
foreach my $target (qw{distclean realclean clean}) {
- # Make --question returns false if the target is
- # up-to-date. But we still want to run the target in this
- # case. So ceck if a target exists by seeing if make outputs
- # "Making target".
- my $ret=`LANG=C $ENV{MAKE} --question $target 2>/dev/null`;
+ # Use make -n to check to see if the target would do
+ # anything. There's no good way to test if a target exists.
+ my $ret=`$ENV{MAKE} -s -n $target 2>/dev/null`;
chomp $ret;
- print ">>$ret for $target\n";
- if ($ret =~ /^Making \Q$target\E/m) {
+ if (length $ret) {
doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}});
last;
}