summaryrefslogtreecommitdiff
path: root/src/gen_classes.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/gen_classes.sh')
-rwxr-xr-xsrc/gen_classes.sh33
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 '}'