|
|
|
@ -117,19 +117,31 @@ if($cfile =~ /http:\/\/.*?\/([^\/]+)$/) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if($cfile) {
|
|
|
|
|
($base,$ext) = $cfile =~ /^([^\.]+)\.(.)/;
|
|
|
|
|
($base,$ext) = $cfile =~ /^([^\.]+)\.(.+)/;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($ext ne "c") {
|
|
|
|
|
if($ext eq "so") {
|
|
|
|
|
unless($args{linkonly}) {
|
|
|
|
|
$args{installonly}++;
|
|
|
|
|
}
|
|
|
|
|
} elsif($ext ne "c") {
|
|
|
|
|
usage "Bad Input File";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
my $bad=0;
|
|
|
|
|
|
|
|
|
|
$bad = esystem("$vars{CC} $vars{CFLAGS} -c ${base}.c -o ${base}.o");
|
|
|
|
|
$bad = esystem("$vars{CC} $vars{SOLINK} -o $vars{LDFLAGS} ${base}.so $base.o $vars{EXTOBJ}") if(!$bad);
|
|
|
|
|
$bad = esystem("$vars{CC} $vars{CFLAGS} -c ${base}.c -o ${base}.o") unless($args{linkonly} or $args{installonly});
|
|
|
|
|
exit -1 if($bad);
|
|
|
|
|
exit if($args{nolink});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$vars{MAINOBJ} ||= $base.o;
|
|
|
|
|
$bad = esystem("$vars{CC} $vars{SOLINK} -o $vars{LDFLAGS} ${base}.so $vars{MAINOBJ} $vars{EXTOBJ}") if(!$bad and !$args{installonly});
|
|
|
|
|
exit -1 if($bad);
|
|
|
|
|
|
|
|
|
|
if($args{install} and $vars{MODULES_DIR}) {
|
|
|
|
|
if(($args{install} or $args{installonly}) and $vars{MODULES_DIR}) {
|
|
|
|
|
my $file = "${base}.so";
|
|
|
|
|
my ($mod) = $file =~ /([^\/]*)$/;
|
|
|
|
|
|
|
|
|
|