]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_auto_clean
cmake: Pass CPPFLAGS in CFLAGS. Closes: #668813 Thanks, Simon Ruderich for the patch...
[debhelper.git] / dh_auto_clean
index 610155ae5653eaad2d69e79b5807c54d021bc73f..3abb5f3e31a507b7e126d7e144089b7000042298 100755 (executable)
@@ -8,61 +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<dh_auto_clean> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_clean> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
 
 =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 or Build.PL, it
-is run to clean the package.
+B<dh_auto_clean> 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<Makefile> and it contains a B<distclean>, B<realclean>, or B<clean> target,
+then this is done by running B<make> (or B<MAKE>, if the environment variable is
+set). If there is a F<setup.py> or F<Build.PL>, 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 encouraged to skip using
-dh_auto_clean at all, and just run make clean manually.
+B<dh_auto_clean> at all, and just run B<make clean> manually.
 
 =head1 OPTIONS
 
+See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build
+system selection and control options.
+
 =over 4
 
 =item B<--> I<params>
 
-Pass "params" to the program that is run. These can be used to supplement
-or override the any standard parameters that dh_auto_clean passes.
+Pass I<params> to the program that is run, after the parameters that
+B<dh_auto_clean> 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}) {
-               # 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 (length $ret) {
-                       doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}});
-                       last;
-               }
-       }
-}
-elsif (-e "setup.py") {
-       doit("python", "setup.py", "clean", "-a", @{$dh{U_PARAMS}});
-       # The setup.py might import files, leading to python creating pyc
-       # files.
-       doit('find', '.', '-name', '*.pyc', '-exec', 'rm', '{}', ';');
-}
-elsif (-e "Build.PL" && -e "Build") {
-       $ENV{MODULEBUILDRC} = "/dev/null";
-       doit("perl", "Build", "--allow_mb_mismatch", 1, "distclean", @{$dh{U_PARAMS}});
-}
+inhibit_log();
+buildsystems_init();
+buildsystems_do();
 
 =head1 SEE ALSO