The R Project SVN R

Rev

Rev 14460 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14460 Rev 27308
Line 22... Line 22...
22
use File::Basename;
22
use File::Basename;
23
use File::Path;
23
use File::Path;
24
use Getopt::Long;
24
use Getopt::Long;
25
 
25
 
26
 
26
 
27
my $revision = ' $Revision: 1.5 $ ';
27
my $revision = ' $Revision: 1.6 $ ';
28
my $version;
28
my $version;
29
my $name;
29
my $name;
30
$revision =~ / ([\d\.]*) /;
30
$revision =~ / ([\d\.]*) /;
31
$version = $1;
31
$version = $1;
32
($name = $0) =~ s|.*/||;
32
($name = $0) =~ s|.*/||;
Line 50... Line 50...
50
} else {
50
} else {
51
    $dllname = $ARGV[0];
51
    $dllname = $ARGV[0];
52
    $dllname =~ s/\.[^\.]+$//;
52
    $dllname =~ s/\.[^\.]+$//;
53
}
53
}
54
 
54
 
55
my @cfsrcs;
-
 
56
my @cxxsrcs;
55
my @cfsrcs, @csrcs, @cxxsrcs;
57
foreach $src (@ARGV) {
56
foreach $src (@ARGV) {
58
    if ($src =~ /\.(cc|cpp|C)$/) {
57
    if ($src =~ /\.(cc|cpp|C)$/) {
59
	push @cxxsrcs, $src;
58
	push @cxxsrcs, $src;
-
 
59
    } elsif ($src =~ /\.c$/) {
-
 
60
	push @csrcs, $src;
-
 
61
	push @cfsrcs, $src;
60
    } else {
62
    } else {
61
	push @cfsrcs, $src;
63
	push @cfsrcs, $src;
62
    }
64
    }
63
}
65
}
64
 
66
 
65
my $srcs=join(" ", @cfsrcs);
67
my $srcs=join(" ", @cfsrcs);
-
 
68
my $csrcs=join(" ", @csrcs);
66
my $cxx=join(" ", @cxxsrcs);
69
my $cxx=join(" ", @cxxsrcs);
67
system("make -f $R_HOME/src/gnuwin32/MakeDll RHOME=$R_HOME $debug DLLNAME=$dllname CFSOURCES='$srcs' CXXSOURCES='$cxx' RCOBJ=");
70
system("make -f $R_HOME/src/gnuwin32/MakeDll RHOME=$R_HOME $debug DLLNAME=$dllname CSOURCES='$csrcs' CFSOURCES='$srcs' CXXSOURCES='$cxx' RCOBJ=");
68
 
71
 
69
 
72
 
70
sub usage {
73
sub usage {
71
    print STDERR <<END;
74
    print STDERR <<END;
72
Usage: Rcmd $name [options] files
75
Usage: Rcmd $name [options] files