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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#! /bin/sh
#================================================================
# makevcdef
# Generator of module definition file for Visual C++
#================================================================
# check arguments
file="$1"
if [ -f "$file" ]
then
true
else
printf 'usage: makevcdef library\n' 1>&2
exit 1
fi
# show headers
name=`echo $file | sed -e 's/^lib//' -e 's/\..*//'`
printf 'EXPORTS\r\n'
# show variables
nm -g "$file" | grep ' [BDR] ' | sed 's/.* [BDR] //' | grep -v '^_' | sort | uniq |
while read name
do
num=$((num + 1))
printf ' %s = %s DATA\r\n' "$name" "$name"
done
# show functions
nm -g "$file" | grep ' T ' | sed 's/.* T //' | grep -v '^_' | sort | uniq |
while read name
do
num=$((num + 1))
printf ' %s = %s\r\n' "$name" "$name"
done
# exit normally
exit 0
# END OF FILE
|