diff options
Diffstat (limited to 'scripts/mkinclude.sh')
-rw-r--r-- | scripts/mkinclude.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/mkinclude.sh b/scripts/mkinclude.sh new file mode 100644 index 00000000..a77c8d74 --- /dev/null +++ b/scripts/mkinclude.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +# +# Given a list of headers, combine them into one, excluding certain lines +# +OUTFILE="/dev/stdout" +COMBINEDHEADERS="" +EXCLUDES="" + +while [ $# -gt 0 ] +do + case $1 in + -o) OUTFILE=$2; shift;; + -e) EXCLUDES="$EXCLUDES $2"; shift;; + *) COMBINEDHEADERS="$COMBINEDHEADERS $1"; + esac + shift +done + +echo '#ifdef __cplusplus' > $OUTFILE +echo 'extern "C" {' >> $OUTFILE +echo '#endif' >> $OUTFILE +echo '/*' >> $OUTFILE +echo " \$Id\$" >> $OUTFILE +echo '*/' >> $OUTFILE +cat $COMBINEDHEADERS >> file.temp1 +for exclude in $EXCLUDES +do + cp file.temp1 file.temp2 + egrep -v "$exclude" file.temp2 > file.temp1 +done +cat file.temp1 >> $OUTFILE +rm -f file.temp1 +rm -f file.temp2 +echo '#ifdef __cplusplus' >> $OUTFILE +echo '};' >> $OUTFILE +echo '#endif' >> $OUTFILE + + |