X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_auto_clean;h=3abb5f3e31a507b7e126d7e144089b7000042298;hb=fb8f18f4a98669c3b85e1bd7920fbabfc00b886e;hp=aa16c724951797313d8c9319c342c85eccebb416;hpb=f2fd63ed1124d54f398e5bc3a0cdbd383a21c196;p=debhelper.git diff --git a/dh_auto_clean b/dh_auto_clean index aa16c72..3abb5f3 100755 --- a/dh_auto_clean +++ b/dh_auto_clean @@ -8,57 +8,44 @@ dh_auto_clean - automatically cleans up after a build use strict; use Debian::Debhelper::Dh_Lib; +use Debian::Debhelper::Dh_Buildsystems; =head1 SYNOPSIS -B [S>] [S I>] +B [S>] [S>] [S I>] =head1 DESCRIPTION -dh_auto_clean is a debhelper program that tries to automatically clean up -after a package build. If there's a Makefile and it contains a "distclean", -"realclean", or "clean" target, then this is done by running make (or MAKE, -if the environment variable is set). If there is a setup.py, it is run to -clean the package. +B is a debhelper program that tries to automatically clean up +after a package build. It does so by running the appropriate command for +the build system it detects the package uses. For example, if there's a +F and it contains a B, B, or B target, +then this is done by running B (or B, if the environment variable is +set). If there is a F or F, it is run to clean the package. This is intended to work for about 90% of packages. If it doesn't work, or -tries to use the wrong clean target, you're encoruaged to skip using -dh_auto_clean at all, and just run make clean manually. +tries to use the wrong clean target, you're encouraged to skip using +B at all, and just run B manually. =head1 OPTIONS +See L> for a list of common build +system selection and control options. + =over 4 =item B<--> I -Pass "params" to the program that is run. These can be used to suppliment -or override the any standard parameters that dh_auto_clean passes. +Pass I to the program that is run, after the parameters that +B usually passes. =back =cut -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`; - chomp $ret; - if ($ret =~ /^Making \Q$target\E/m) { - doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}}); - last; - } - } -} -elsif (-e "setup.py") { - doit("python setup.py", "clean", "-a", @{$dh{U_PARAMS}}); -} - +inhibit_log(); +buildsystems_init(); +buildsystems_do(); =head1 SEE ALSO