diff --git a/swig/makewrapper.sh b/swig/makewrapper.sh
new file mode 100755
index 0000000000000000000000000000000000000000..8d6f5167baa63d6063cbe96734f7ca2b8fbdff09
--- /dev/null
+++ b/swig/makewrapper.sh
@@ -0,0 +1,16 @@
+#!/bin/bash -x
+
+if [ ${#} -eq 0 ]
+then
+	echo "Usage: $0 wccl2class"
+	exit 1
+fi
+
+UPPER=`echo ${1} | tr '[:lower:]' '[:upper:]'`
+LOWER=`echo ${1} | tr '[:upper:]' '[:lower:]'`
+CLNAM=${1}
+OUTFILE=libccl${LOWER}.i
+
+cat swig_template_wccl.template | sed s/TEMPLATE/${UPPER}/g | sed s/Template/${CLNAM}/g | sed s/template/${LOWER}/g > ${OUTFILE}
+
+echo -e "\e[1;32m${OUTFILE} was generated. Don't forget to add ${OUTFILE} to Makefile (or CMake)!\e[0m"
diff --git a/swig/swig_template_wccl.template b/swig/swig_template_wccl.template
new file mode 100644
index 0000000000000000000000000000000000000000..93ebce82b5b4ed74c3b2f5482aa046ce9ce93c91
--- /dev/null
+++ b/swig/swig_template_wccl.template
@@ -0,0 +1,25 @@
+#ifndef SWIG_LIBWCCL_TEMPLATE_I
+#define SWIG_LIBWCCL_TEMPLATE_I
+
+%module libccltemplate
+%{
+  // Add includes here...
+  // #include <...>
+%}
+
+// %include "...i"
+
+namespace Wccl {
+  class Template {
+  public:
+    Template();
+    ~Template();
+
+    /* --------------------------------------------------------------------- */
+  };
+}
+
+using namespace std;
+using namespace Wccl;
+
+#endif /* SWIG_LIBWCCL_TEMPLATE_I */