60f7539b |
1 | #!/bin/sh |
2 | |
3 | grep 'extrn ' StarCraft.asm | awk '{print $2}' | awk -F: '{print $1}' > implist |
4 | |
d458c380 |
5 | echo ".data" > tramp.s |
6 | echo ".align 4" >> tramp.s |
60f7539b |
7 | |
8 | cat implist | while read i; do |
9 | rm -f tmpsym |
10 | case $i in |
11 | __imp_*) |
12 | si=`echo $i | cut -c 7-` |
13 | ;; |
14 | *) |
15 | si=$i |
16 | ;; |
17 | esac |
18 | |
d458c380 |
19 | grep "\<_$si\>" /usr/i586-mingw32msvc/lib/lib* *.lib | awk '{print $3}' | \ |
60f7539b |
20 | while read f; do |
21 | sym=`i586-mingw32msvc-nm $f | grep "\<_$si\>" | grep ' T ' | awk '{print $3}'` |
22 | if test -n "$sym"; then |
23 | echo $sym > tmpsym |
24 | break |
25 | fi |
26 | done |
27 | sym=`cat tmpsym` |
28 | if test -z "$sym"; then |
29 | echo "no file/sym for $i, lf $f" |
30 | exit 1 |
31 | fi |
32 | |
33 | echo ".globl $i" >> tramp.s |
34 | echo "$i:" >> tramp.s |
d458c380 |
35 | echo " .long $sym" >> tramp.s |
60f7539b |
36 | echo >> tramp.s |
37 | done |