diff options
Diffstat (limited to 'src/gen_classes.sh')
-rwxr-xr-x | src/gen_classes.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/gen_classes.sh b/src/gen_classes.sh new file mode 100755 index 0000000..dc5847d --- /dev/null +++ b/src/gen_classes.sh @@ -0,0 +1,33 @@ +#!/bin/sh -e + +CLASSES= +SOURCES= + +while test -n "$1"; do + SOURCES="$SOURCES $1" + CLASSES="$CLASSES `echo "$1" | sed 's/\.cxx//'`" + shift +done + +echo '# 1 "classes.h"' +cat classes.h + + +for i in $CLASSES; do + echo "class $i;" +done + +for i in $SOURCES; do + cpp $CPPFLAGS $i | + sed 's/public/public:/' | + sed 's/protected/protected:/' | + sed 's/private/private:/' | + sed 's/extends/:public/' +done + + +echo 'extern "C" {' + +cpp main.c + +echo '}' |