summaryrefslogtreecommitdiff
path: root/tmpl/regen_all.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tmpl/regen_all.sh')
-rwxr-xr-xtmpl/regen_all.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/tmpl/regen_all.sh b/tmpl/regen_all.sh
new file mode 100755
index 0000000..53886c9
--- /dev/null
+++ b/tmpl/regen_all.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# This script generates the multi-argument template code
+# for the callable and factory interfaces.
+# This is the magic that makes the API calls
+# so natural to call into as a C++ client app.
+# This script is manually run when the source tmpl files are changed.
+# And the generated sources are checked in.
+# This way, the build system does not generate public headers.
+# And the build system does not depend on Cheetah templates.
+
+SCRIPT="`readlink -e $0`"
+SCRIPTPATH="`dirname $SCRIPT`"
+DEST=${SCRIPTPATH}/../include/gras
+
+python expand_template.py factory.tmpl.hpp ${DEST}/factory.hpp
+python expand_template.py factory_detail.tmpl.hpp ${DEST}/detail/factory.hpp
+python expand_template.py callable.tmpl.hpp ${DEST}/callable.hpp
+python expand_template.py callable_detail.tmpl.hpp ${DEST}/detail/callable.hpp