summaryrefslogtreecommitdiff
path: root/Debian/Debhelper/Buildsystem/makefile.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Debian/Debhelper/Buildsystem/makefile.pm')
-rw-r--r--Debian/Debhelper/Buildsystem/makefile.pm13
1 files changed, 13 insertions, 0 deletions
diff --git a/Debian/Debhelper/Buildsystem/makefile.pm b/Debian/Debhelper/Buildsystem/makefile.pm
index 91a6341c..cbd9e3c3 100644
--- a/Debian/Debhelper/Buildsystem/makefile.pm
+++ b/Debian/Debhelper/Buildsystem/makefile.pm
@@ -11,6 +11,7 @@ use Debian::Debhelper::Dh_Lib;
use Debian::Debhelper::Dh_Buildsystem_Bases;
use base 'Debian::Debhelper::Dh_Buildsystem_Chdir';
+# XXX JEH I *like* this. Yay for factoring out ugly ugly stuff!
sub _exists_make_target {
my ($cls, $target) = @_;
# Use make -n to check to see if the target would do
@@ -24,6 +25,9 @@ sub _make_first_existing_target {
my $cls = shift;
my $targets = shift;
+ # XXX JEH setting this env var is dodgy,
+ # probably better to test if it exists with a default value.
+ # (Factor out to helper function?)
$ENV{MAKE}="make" unless exists $ENV{MAKE};
foreach my $target (@$targets) {
if ($cls->_exists_make_target($target)) {
@@ -42,10 +46,14 @@ sub is_buildable {
my $self=shift;
my ($action) = @_;
if (grep /^\Q$action\E$/, qw{build test install clean}) {
+ # XXX JEH why does get_buildpath need to be used
+ # here? is_buildable is run at the top of the source
+ # directory, so -e 'Makefile' should be the same
return -e $self->get_buildpath("Makefile") ||
-e $self->get_buildpath("makefile") ||
-e $self->get_buildpath("GNUmakefile");
} else {
+ # XXX JEH why return 1 here?
return 1;
}
}
@@ -64,10 +72,15 @@ sub install_impl {
my $self=shift;
my $destdir=shift;
+ # XXX JEH again with the setting the env var, see above..
$ENV{MAKE}="make" unless exists $ENV{MAKE};
my @params="DESTDIR=$destdir";
# Special case for MakeMaker generated Makefiles.
+ # XXX JEH This is a really unfortunate breaking of the
+ # encapsulation of the perl_makefile module. Perhaps it would be
+ # better for that module to contain some hack that injects that
+ # test into this one?
if (-e "Makefile" &&
system('grep -q "generated automatically by MakeMaker" Makefile') == 0) {
push @params, "PREFIX=/usr";