aboutsummaryrefslogtreecommitdiff
path: root/src/makesource.sh
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2006-01-25 16:16:20 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2006-01-25 16:16:20 +0000
commitbfaccf59b0b916e9f944b68b869146a6e859a208 (patch)
treeb043c05ab3e74c3f12485acdd6164c28519cca58 /src/makesource.sh
parent1ea230f8d6d79ca17278063d56edb78eabd1db05 (diff)
better setup-function detection:
remove the dependency on "z_"-prefix use "setup_"-prefix for c-files containing 0x (hexloader), else use "_setup" suffix replace trailing "~" by "_tilde" svn path=/trunk/externals/zexy/; revision=4493
Diffstat (limited to 'src/makesource.sh')
-rwxr-xr-xsrc/makesource.sh13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/makesource.sh b/src/makesource.sh
index 24fc90f..3e29540 100755
--- a/src/makesource.sh
+++ b/src/makesource.sh
@@ -22,6 +22,8 @@ function head_h() {
}
function foot_h() {
+ echo ""
+ echo "void z_zexy_setup(void);"
echo "#endif /* Z_ZEXY_H__ */"
echo ""
}
@@ -49,15 +51,18 @@ function foot_c() {
head_h > $ZEXY_H
head_c > $ZEXY_C
-for i in `ls *.c | grep -v zexy.c`
+for f in `ls *.c | grep -v zexy.c`
do
## each c-file in zexy needs to have a z_<file>_setup()-function
## that calls all needed setup-functions
## any non-alpha-numeric-character is replaced by "_"
## e.g. "multiplex~.c" -> "z_multiplex__setup()"
- SETUPNAME=z_`echo ${i%.c} | sed -e 's/[^[:alnum:]]/_/g'`_setup
- echo "void ${SETUPNAME}(void); /* $i */" >> $ZEXY_H
- echo " ${SETUPNAME}(); /* $i */" >> $ZEXY_C
+ i=${f%.c}
+ SETUPNAME=$(echo $i | sed -e "s/.*0x.*/setup_&/g" -e "s/~$/_tilde/g" -e "/0x/! s/.*/&_setup/")
+ if grep -w ${SETUPNAME} $f > /dev/null; then
+ echo "void ${SETUPNAME}(void); /* $i */" >> $ZEXY_H
+ echo " ${SETUPNAME}(); /* $i */" >> $ZEXY_C
+ fi
done
foot_h >> $ZEXY_H