diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2006-03-01 12:13:45 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2006-03-01 12:13:45 +0000 |
commit | 45ddc4c6949f98098a1f0dbb14a9e933c82e0855 (patch) | |
tree | 98add62b3280873b6accbaf554cc2d6d3c2b4703 /src/makesource.sh | |
parent | 52e1cb58409d4cc50982ed6fa5c8836c01a633a8 (diff) |
build-system
svn path=/trunk/externals/iem/iem_bin_ambi/; revision=4636
Diffstat (limited to 'src/makesource.sh')
-rwxr-xr-x | src/makesource.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/makesource.sh b/src/makesource.sh new file mode 100755 index 0000000..965491c --- /dev/null +++ b/src/makesource.sh @@ -0,0 +1,65 @@ +#!/bin/sh + +IEMBINAMBI_H=iem_bin_ambi_sources.h +IEMBINAMBI_C=iem_bin_ambi_sources.c + +EGREP=egrep +SED=sed +LS=ls + +################################# +## functions + +function head_h() { + echo "/* iem_bin_ambi-setup autogenerated header-file" + echo " * generated by \"$0\"" + echo " * !! DO NOT MANUALLY EDIT !!" + echo " */" + echo + echo "#ifndef IEMBINAMBI_SOURCES_H__" + echo "#define IEMBINAMBI_SOURCES_H__" +} + +function foot_h() { + echo "#endif /* IEMBINAMBI_SOURCES_H__ */" + echo "" +} + +function head_c() { + echo "/* iem_bin_ambi-setup autogenerated setup-file" + echo " * generated by \"$0\"" + echo " * !! DO NOT MANUALLY EDIT !!" + echo " */" + echo + echo "#include \"$IEMBINAMBI_H\"" + echo + echo "void iem_bin_ambi_sources_setup(void)" + echo "{" +} + +function foot_c() { + echo "}" + echo +} + + +################################## +## body + +head_h > $IEMBINAMBI_H +head_c > $IEMBINAMBI_C + +for i in $(${LS} *.c | ${EGREP} -v "iem_bin_ambi.*\.c") +do +## each c-file in iem_bin_ambi needs to have an <file>_setup()-function +## that calls all needed setup-functions +## any non-alpha-numeric-character is replaced by "_" +## e.g. "bla~.c" -> "bla__setup()" + SETUPNAME=$(echo ${i%.c} | ${SED} -e 's/[^[:alnum:]]/_/g')_setup + echo "void ${SETUPNAME}(void); /* $i */" >> $IEMBINAMBI_H + echo " ${SETUPNAME}(); /* $i */" >> $IEMBINAMBI_C +done + +foot_h >> $IEMBINAMBI_H +foot_c >> $IEMBINAMBI_C + |