summaryrefslogtreecommitdiff
path: root/epoc/link.pl
blob: 9da8a356cae06669d698755c4c272258ffe3ee9c (plain)
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
#!/usr/bin/perl -w

$epoc="/usr/local/epoc";
@objs=@ARGV;
$basname=$objs[0];
$basname =~ s/.o//;
$baspe = $basname . "pe";


system("arm-pe-ld -s -e _E32Startup --base-file $basname.bas " .
       "-o $baspe.exe $epoc/lib/eexe.o @objs " .
       "$epoc/lib/ecrt0.o $epoc/lib/estlib.lib $epoc/lib/euser.lib");

system("arm-pe-dlltool --as=arm-pe-as --output-exp $basname.exp " .
       "--base-file $basname.bas $epoc/lib/eexe.o @objs " .
       "$epoc/lib/ecrt0.o $epoc/lib/estlib.lib  $epoc/lib/euser.lib");

system("arm-pe-ld -s -e _E32Startup -o $basname.exe $basname.exp " .
       "-o $baspe.exe $epoc/lib/eexe.o @objs " .
       "$epoc/lib/ecrt0.o $epoc/lib/estlib.lib $epoc/lib/euser.lib");

system( "wine \"$epoc/bin/petran.exe $baspe.exe $basname.exe " .
        "-nocall -heap 0x00000400 0x00400000 -stack 0x0000c000 " .
        "-uid1 0x1000007a -uid2 0x100051d8 -uid3 0x00000000 \" ");