/usr/share/perl5/Debian/Debhelper/Buildsystem/mkcmake.pm is in mk-configure 0.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | # A debhelper build system class for handling simple mk-configure-based projects.
#
# Copyright: © 2008 Joey Hess
# © 2008-2009 Modestas Vainius
# License: GPL-2+
package Debian::Debhelper::Buildsystem::mkcmake;
use strict;
use Debian::Debhelper::Dh_Lib qw(compat escape_shell clean_jobserver_makeflags dpkg_architecture_value);
use base 'Debian::Debhelper::Buildsystem::makefile';
sub DESCRIPTION {
"mk-configure"
}
sub exists_make_target {
my ($this, $target) = @_;
# Use -V .ALLTARGETS to get the list of targets; -n is
# needed to avoid executing anything
my @opts=("-n", "-V", ".ALLTARGETS");
my $buildpath = $this->get_buildpath();
unshift @opts, "-C", $buildpath if $buildpath ne ".";
open(SAVEDERR, ">&STDERR");
open(STDERR, ">/dev/null");
open(MAKE, "-|", $this->{makecmd}, @opts);
my $output=<MAKE>;
chomp $output;
close MAKE;
open(STDERR, ">&SAVEDERR");
return defined $output && grep(/^$target$/, split(" ",$output));
}
# Currently, we don't want parallel build with bmake.
sub do_make {
my $this=shift;
# Avoid possible warnings about unavailable jobserver,
# and force make to start a new jobserver.
clean_jobserver_makeflags();
my @opts;
my $prefix = "/usr";
push @opts, "PREFIX=${prefix}";
push @opts, "MANDIR=${prefix}/share/man";
push @opts, "INFODIR=${prefix}/share/info";
push @opts, "SYSCONFDIR=/etc";
my $multiarch=dpkg_architecture_value("DEB_HOST_MULTIARCH");
if (! compat(8)) {
if (defined $multiarch) {
push @opts, "LIBDIR=${prefix}/lib/$multiarch";
push @opts, "LIBEXECDIR=${prefix}/lib/$multiarch";
}
else {
push @opts, "LIBEXECDIR=${prefix}/lib";
}
}
else {
push @opts, "LIBEXECDIR=${prefix}/lib/" . sourcepackage();
}
$this->doit_in_builddir($this->{makecmd}, @opts, @_);
}
sub check_auto_buildable {
my $this=shift;
my ($step)=@_;
if (-e $this->get_buildpath("makefile") ||
-e $this->get_buildpath("Makefile"))
{
my $ret = ($this->SUPER::check_auto_buildable(@_));
open (MAKEFILE, "makefile") || open (MAKEFILE, "Makefile") ||
return 0;
while (<MAKEFILE>) {
chomp;
if (/^\.?\s*include\s+<mkc/) {
close MAKEFILE;
$ret++;
return $ret;
}
}
close MAKEFILE;
return $ret;
}
return 0;
}
sub new {
my $class=shift;
my $this=$class->SUPER::new(@_);
$this->{makecmd} = "mkcmake";
return $this;
}
1
|