makefile.pl
来自「一个基于alice开发的机器人」· PL 代码 · 共 68 行
PL
68 行
use ExtUtils::MakeMaker;
use strict;
use Getopt::Std;
my (%foo, $jsdir, $inc, $libpath);
#m - build under mozilla tree
#d - specifies js build directory (with include/ and lib/ directories)
#c - build under charlie tree
getopts('mcd:', \%foo);
$jsdir = $foo{d};
$foo{'m'} = 1 unless $foo{c} || $foo{d}; #mozilla tree is the default
if ($foo{c}) {
$inc = "-I$ENV{CHARLIE_HOME}/include";
$libpath = "-L$ENV{CHARLIE_HOME}/lib";
}
if ($jsdir) {
$inc = "-I$jsdir/include";
$libpath = "-L$jsdir/lib -ljs";
}
my $tmpmk = <<'eof';
DEPTH=..
include ../config.mk
all:
@echo '$(OBJDIR)'
eof
if ($foo{'m'}) {
if ($^O eq "MSWin32") {
$inc = "-I.. -I../Debug"; #I'm not sure
$libpath = "-L../Debug";
} else { #suppose unix, never Mac, gmake
open FOO, ">tempmakefile";
print FOO $tmpmk;
close FOO;
my $objdir = `gmake -f tempmakefile`;
unlink "tempmakefile";
$inc = "-I.. -I../$objdir";
$libpath = "-L../$objdir";
}
}
my %extras = ();
my $define;
if ($^O eq "MSWin32") {
$define = "-DXP_PC";
$extras{OBJECT} = '$(BASEEXT)$(OBJ_EXT) jsperl.obj';
} else {
$define = '-DXP_UNIX';
}
WriteMakefile(NAME => 'JS',
DEFINE => $define,
INC => $inc,
LIBS => "$libpath -ljs",
VERSION_FROM => 'JS.pm',
%extras,);
__END__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?