#!/scratchbox/tools/bin/perl -w

=head1 NAME

dh_auto_install - automatically runs make install or similar

=cut

use strict;
use Debian::Debhelper::Dh_Lib;
use Debian::Debhelper::Dh_Buildsystems;
use File::Spec;
use Cwd;

=head1 SYNOPSIS

B<dh_auto_install> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]

=head1 DESCRIPTION

dh_auto_install is a debhelper program that tries to automatically install
built files. It does so by running the appropriate command for the build
system it detects the package uses. For example, if there's a Makefile and
it contains a "install" 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 used. Note that the Ant build system does not support installation,
so dh_auto_install will not install files built using Ant.

Unless --destdir option is specified, the files are installed into
debian/<package>/ if there is only one binary package. In the multiple binary
package case, the files are instead installed into debian/tmp/, and should be
moved from there to the appropriate package build directory using
L<dh_install(1)>.

DESTDIR is used to tell make where to install the files. 
If the Makefile was generated by MakeMaker from a Makefile.PL, it will
automatically set PREFIX=/usr too, since such Makefiles need that.

This is intended to work for about 90% of packages. If it doesn't work, or
tries to use the wrong install target, you're encouraged to skip using
dh_auto_install at all, and just run make install manually.

=head1 OPTIONS

See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
system selection and control options.

=over 4

=item B<--destdir=>I<directory>

Install files into the specified I<directory>. If this option is not specified,
destination directory is determined automatically as described in the
L</DESCRIPTION> section.

=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_install passes.

=back

=cut

my $destdir;

buildsystems_init(options => {
	"destdir=s" => \$destdir,
});

# If destdir is not specified, determine it automatically
if (!$destdir) {
	my @allpackages=getpackages();
	if (@allpackages > 1) {
		$destdir="debian/tmp";
	}
	else {
		$destdir=tmpdir($dh{MAINPACKAGE});
	}
}
$destdir = File::Spec->rel2abs($destdir, cwd());

buildsystems_do("install", $destdir);

=head1 SEE ALSO

L<debhelper(7)>

This program is a part of debhelper.

=head1 AUTHOR

Joey Hess <joeyh@debian.org>

=cut
