diff --git a/swig/makewrapper.sh b/swig/makewrapper.sh
new file mode 100755
index 0000000000000000000000000000000000000000..fdf80c5f917ff9bff414341776ccf953e1e687d3
--- /dev/null
+++ b/swig/makewrapper.sh
@@ -0,0 +1,16 @@
+#!/bin/bash -x
+
+if [ ${#} -eq 0 ]
+then
+	echo "Usage: $0 corpus2class"
+	exit 1
+fi
+
+UPPER=`echo ${1} | tr '[:lower:]' '[:upper:]'`
+LOWER=`echo ${1} | tr '[:upper:]' '[:lower:]'`
+CLNAM=${1}
+OUTFILE=libcorpus${LOWER}.i
+
+cat swig_template_corpus2.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_corpus2.template b/swig/swig_template_corpus2.template
new file mode 100644
index 0000000000000000000000000000000000000000..0b8998d2689d1ede005ad64fd681356b408394b6
--- /dev/null
+++ b/swig/swig_template_corpus2.template
@@ -0,0 +1,25 @@
+#ifndef SWIG_LIBCORPUS2_TEMPLATE_I
+#define SWIG_LIBCORPUS2_TEMPLATE_I
+
+%module libcorpustemplate
+%{
+  // Add includes here...
+  // #include <...>
+%}
+
+// %include "...i"
+
+namespace Corpus2 {
+  class Template {
+  public:
+    Template();
+
+    /* --------------------------------------------------------------------- */
+    ~Template();
+  };
+}
+
+using namespace std;
+using namespace Corpus2;
+
+#endif /* SWIG_LIBCORPUS2_TEMPLATE_I */