notaz.gp2x.de
/
ia32rtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
translate: extra check
[ia32rtools.git]
/
run_imp.sh
diff --git
a/run_imp.sh
b/run_imp.sh
index
7c10376
..
aab9fd3
100755
(executable)
--- a/
run_imp.sh
+++ b/
run_imp.sh
@@
-1,12
+1,19
@@
#!/bin/sh
#!/bin/sh
-grep 'extrn ' StarCraft.asm | awk '{print $2}' | awk -F: '{print $1}' > implist
+target_s=$1
+src_asm=$2
+implist=${target_s}_implist
+tmpsym=${target_s}_tmpsym
+shift 2
-echo ".data" > $1
-echo ".align 4" >> $1
+grep 'extrn ' $src_asm | awk '{print $2}' | \
+ awk -F: '{print $1}' > $implist
-cat implist | while read i; do
- rm -f tmpsym
+echo ".data" > $target_s
+echo ".align 4" >> $target_s
+
+cat $implist | while read i; do
+ rm -f $tmpsym
case $i in
__imp_*)
si=`echo $i | cut -c 7-`
case $i in
__imp_*)
si=`echo $i | cut -c 7-`
@@
-16,22
+23,22
@@
cat implist | while read i; do
;;
esac
;;
esac
- grep "\<_$si\>" /usr/i586-mingw32msvc/lib/lib*
*.lib
| awk '{print $3}' | \
+ grep "\<_$si\>" /usr/i586-mingw32msvc/lib/lib*
"$@"
| awk '{print $3}' | \
while read f; do
sym=`i586-mingw32msvc-nm $f | grep "\<_$si\>" | grep ' T ' | awk '{print $3}'`
if test -n "$sym"; then
while read f; do
sym=`i586-mingw32msvc-nm $f | grep "\<_$si\>" | grep ' T ' | awk '{print $3}'`
if test -n "$sym"; then
- echo $sym > tmpsym
+ echo $sym >
$
tmpsym
break
fi
done
break
fi
done
- sym=`cat tmpsym`
+ sym=`cat
$
tmpsym`
if test -z "$sym"; then
echo "no file/sym for $i, lf $f"
exit 1
fi
if test -z "$sym"; then
echo "no file/sym for $i, lf $f"
exit 1
fi
- echo ".globl $i" >> $
1
- echo "$i:" >> $
1
- echo " .long $sym" >> $
1
- echo >> $
1
+ echo ".globl $i" >> $
target_s
+ echo "$i:" >> $
target_s
+ echo " .long $sym" >> $
target_s
+ echo >> $
target_s
done
done