]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_auto_test
new method to tell if a makefile contains a target
[debhelper.git] / dh_auto_test
index cf6e58a2ee773085d883baf8184caf089d275fe6..ddc223e7c4356b8eb3e22ebc78d3f65e081062e2 100755 (executable)
@@ -44,13 +44,11 @@ init();
 if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
        $ENV{MAKE}="make" unless exists $ENV{MAKE};
        foreach my $target (qw{test check}) {
-               # 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;
-               if ($ret =~ /^Making \Q$target\E/m) {
+               if (length $ret) {
                        doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}});
                        last;
                }