diff --git a/gstlal-calibration/.gitignore b/gstlal-calibration/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..6030eba4bac508afd6e35d82927814df5c226339
--- /dev/null
+++ b/gstlal-calibration/.gitignore
@@ -0,0 +1 @@
+gstlal-calibration.spec
diff --git a/gstlal-calibration/Makefile.am b/gstlal-calibration/Makefile.am
index 385d763ba4c5d6e109b3492eeff3ef6e1ffd02f5..9245f4c45c94a0ebb1125d64f6d3b25d6078f27c 100644
--- a/gstlal-calibration/Makefile.am
+++ b/gstlal-calibration/Makefile.am
@@ -1,6 +1,6 @@
 ACLOCAL_AMFLAGS = -I gnuscripts
-EXTRA_DIST = gstlal-ugly.spec
-SUBDIRS = debian lib gst python bin share tests examples
+EXTRA_DIST = gstlal-calibration.spec
+SUBDIRS = debian gst python bin
 
 # check that the most recent changelog entry's version matches the package
 # version
diff --git a/gstlal-calibration/bin/Makefile.am b/gstlal-calibration/bin/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/gstlal-calibration/configure.ac b/gstlal-calibration/configure.ac
index 73a062ff00b2bf1f4a57385ce85f3a9259d14deb..ac9b463b5c929f70af6c193db5f087d6a35e8be9 100644
--- a/gstlal-calibration/configure.ac
+++ b/gstlal-calibration/configure.ac
@@ -13,9 +13,12 @@ AC_CONFIG_MACRO_DIR([gnuscripts])
 AM_INIT_AUTOMAKE([1.9 tar-ustar foreign])
 AC_CONFIG_FILES([ \
 	Makefile \
-	gstlal-ugly.spec \
+	gstlal-calibration.spec \
+	bin/Makefile \
 	debian/control \
-	debian/Makefile
+	debian/Makefile \
+	gst/Makefile \
+	python/Makefile \
 ])
 
 
diff --git a/gstlal-calibration/gnuscripts/ax_python_glue.m4 b/gstlal-calibration/gnuscripts/ax_python_glue.m4
new file mode 100644
index 0000000000000000000000000000000000000000..1ac53bcc28eb75f1e3bc87e7582da2ba05e93774
--- /dev/null
+++ b/gstlal-calibration/gnuscripts/ax_python_glue.m4
@@ -0,0 +1,17 @@
+AC_DEFUN([AX_PYTHON_GLUE],[
+	if test -z $PYTHON ; then
+		PYTHON="python"
+	fi
+	PYTHON_NAME=`basename $PYTHON`
+	AX_PYTHON_MODULE([glue])
+	if test "x$HAVE_PYMOD_GLUE" == "xyes" ; then
+		AC_MSG_CHECKING(glue version)
+		GLUE_VERSION=`$PYTHON -c "from glue import git_version ; print '%s.%s' % tuple((git_version.tag or '0-0').replace('glue-release-', '').split('-')[[:2]])"`
+		if test "x${GLUE_VERSION}" == "x0.0" ; then
+			GLUE_VERSION=
+			AC_MSG_RESULT([unknown])
+		else
+			AC_MSG_RESULT($GLUE_VERSION)
+		fi
+	fi
+])
diff --git a/gstlal-calibration/gnuscripts/ax_python_pylal.m4 b/gstlal-calibration/gnuscripts/ax_python_pylal.m4
new file mode 100644
index 0000000000000000000000000000000000000000..2265e5ceceea809c5ee1baa1e37fbb4caf8c7a93
--- /dev/null
+++ b/gstlal-calibration/gnuscripts/ax_python_pylal.m4
@@ -0,0 +1,17 @@
+AC_DEFUN([AX_PYTHON_PYLAL],[
+	if test -z $PYTHON ; then
+		PYTHON="python"
+	fi
+	PYTHON_NAME=`basename $PYTHON`
+	AX_PYTHON_MODULE([pylal])
+	if test "x$HAVE_PYMOD_PYLAL" == "xyes" ; then
+		AC_MSG_CHECKING(pylal version)
+		PYLAL_VERSION=`$PYTHON -c "from pylal import git_version ; print '%s.%s' % tuple((git_version.tag or '0-0').replace('pylal-', '').split('-')[[:2]])"`
+		if test "x${PYLAL_VERSION}" == "x0.0" ; then
+			PYLAL_VERSION=
+			AC_MSG_RESULT([unknown])
+		else
+			AC_MSG_RESULT($PYLAL_VERSION)
+		fi
+	fi
+])
diff --git a/gstlal-calibration/gst/Makefile.am b/gstlal-calibration/gst/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/gstlal-calibration/python/Makefile.am b/gstlal-calibration/python/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391