diff --git a/Makefile.am b/Makefile.am
index c4128887dc..3834afbd13 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,81 +1,84 @@
 #
 # Pacemaker code
 #
 # Copyright (C) 2004 Andrew Beekhof
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
 # as published by the Free Software Foundation; either version 2
 # of the License, or (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 
 EXTRA_DIST              = autogen.sh ConfigureMe README.in libltdl.tar m4/gnulib-cache.m4
 
 MAINTAINERCLEANFILES    = Makefile.in aclocal.m4 configure DRF/config-h.in \
                         DRF/stamp-h.in libtool.m4 ltdl.m4 libltdl.tar
 
 CORE	= $(LIBLTDL_DIR) replace include lib mcp attrd pengine cib crmd fencing lrmd tools xml
-SUBDIRS	= $(CORE) cts extra doc
+SUBDIRS	= $(CORE) extra doc
 
 doc_DATA = README.markdown COPYING
 
 ACLOCAL_AMFLAGS  = -I m4
 
 licensedir              = $(docdir)/licenses/
 license_DATA            = $(wildcard licenses/*)
 
+# Test components
+SUBDIRS	+= cts
+
 testdir			= $(datadir)/$(PACKAGE)/tests/
 test_SCRIPTS		= coverage.sh BasicSanity.sh
 test_DATA		= valgrind-pcmk.suppressions
 
 # Scratch file for ad-hoc testing
 noinst_PROGRAMS = scratch
 nodist_scratch_SOURCES	= scratch.c
 scratch_LDADD	= $(top_builddir)/lib/common/libcrmcommon.la -lm
 
 scratch.c:
 	echo 'int main(void){}' >$@
 
 core:
 	@echo "Building only core components: $(CORE)"
 	list='$(CORE)'; for subdir in $$list; do echo "Building $$subdir"; $(MAKE) -C $$subdir all || exit 1; done
 
 core-install:
 	@echo "Installing only core components: $(CORE)"
 	list='$(CORE)'; for subdir in $$list; do echo "Installing $$subdir"; $(MAKE) -C $$subdir install || exit 1; done
 
 core-clean:
 	@echo "Cleaning only core components: $(CORE)"
 	list='$(CORE)'; for subdir in $$list; do echo "Cleaning $$subdir"; $(MAKE) -C $$subdir clean || exit 1; done
 
 install-exec-local:
 	$(INSTALL) -d $(DESTDIR)/$(LCRSODIR)
 	$(INSTALL) -d -m 750 $(DESTDIR)/$(CRM_CONFIG_DIR)
 	$(INSTALL) -d -m 750 $(DESTDIR)/$(CRM_CORE_DIR)
 	$(INSTALL) -d -m 750 $(DESTDIR)/$(CRM_BLACKBOX_DIR)
 	-chown $(CRM_DAEMON_USER):$(CRM_DAEMON_GROUP) $(DESTDIR)/$(CRM_CONFIG_DIR)
 	-chown $(CRM_DAEMON_USER):$(CRM_DAEMON_GROUP) $(DESTDIR)/$(CRM_CORE_DIR)
 	-chown $(CRM_DAEMON_USER):$(CRM_DAEMON_GROUP) $(DESTDIR)/$(CRM_BLACKBOX_DIR)
 if BUILD_CS_PLUGIN
 	rm -f $(DESTDIR)$(LCRSODIR)/pacemaker.lcrso $(DESTDIR)$(LCRSODIR)/service_crm.so
 	cp $(DESTDIR)$(libdir)/service_crm.so $(DESTDIR)$(LCRSODIR)/pacemaker.lcrso
 endif
 # Use chown because the user/group may not exist
 
 clean-generic:
 	rm -f $(TARFILE) *.tar.bz2 *.sed
 
 dist-clean-local:
 	rm -f autoconf automake autoheader
 
 maintainer-clean-local:
 	rm -f libltdl.tar
diff --git a/lrmd/Makefile.am b/lrmd/Makefile.am
index 223c9de073..64450cdc7c 100644
--- a/lrmd/Makefile.am
+++ b/lrmd/Makefile.am
@@ -1,70 +1,73 @@
 # Copyright (c) 2012 David Vossel <davidvossel@gmail.com>
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
 # version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # Lesser General Public License for more details.
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #
 include $(top_srcdir)/Makefile.common
 
 lrmdlibdir		= $(CRM_DAEMON_DIR)
-lrmdlib_PROGRAMS	= lrmd lrmd_test lrmd_internal_ctl
+lrmdlib_PROGRAMS	= lrmd lrmd_internal_ctl
+
+# Test components
+lrmdlib_PROGRAMS	+= lrmd_test
 
 testdir			= $(datadir)/$(PACKAGE)/tests/lrmd
 test_SCRIPTS		= regression.py
 
 initdir			= $(INITDIR)
 init_SCRIPTS		= pacemaker_remote
 sbin_PROGRAMS		= pacemaker_remoted
 
 if BUILD_SYSTEMD
 systemdunit_DATA	= pacemaker_remote.service
 endif
 
 lrmd_CFLAGS		= $(CFLAGS_HARDENED_EXE)
 lrmd_LDFLAGS		= $(LDFLAGS_HARDENED_EXE)
 
 lrmd_LDADD		= $(top_builddir)/lib/common/libcrmcommon.la	\
 			$(top_builddir)/lib/services/libcrmservice.la	\
 			$(top_builddir)/lib/lrmd/liblrmd.la		\
 			$(top_builddir)/lib/fencing/libstonithd.la	\
 			$(top_builddir)/lib/pengine/libpe_rules.la ${COMPAT_LIBS}
 lrmd_SOURCES		= main.c lrmd.c
 
 pacemaker_remoted_CPPFLAGS	= -DSUPPORT_REMOTE $(AM_CPPFLAGS)
 
 pacemaker_remoted_CFLAGS	= $(CFLAGS_HARDENED_EXE)
 pacemaker_remoted_LDFLAGS	= $(LDFLAGS_HARDENED_EXE)
 
 pacemaker_remoted_LDADD		= $(lrmd_LDADD) \
 			$(top_builddir)/lib/lrmd/liblrmd.la
 pacemaker_remoted_SOURCES	= main.c lrmd.c tls_backend.c ipc_proxy.c
 
 lrmd_internal_ctl_LDADD		= $(top_builddir)/lib/common/libcrmcommon.la	\
 				$(top_builddir)/lib/lrmd/liblrmd.la		\
 				$(top_builddir)/lib/cib/libcib.la		\
 				$(top_builddir)/lib/services/libcrmservice.la	\
 				$(top_builddir)/lib/pengine/libpe_status.la	\
 				$(top_builddir)/pengine/libpengine.la
 lrmd_internal_ctl_SOURCES	= remote_ctl.c
 
 lrmd_test_LDADD		= $(top_builddir)/lib/common/libcrmcommon.la	\
 			$(top_builddir)/lib/lrmd/liblrmd.la		\
 			$(top_builddir)/lib/cib/libcib.la		\
 			$(top_builddir)/lib/services/libcrmservice.la	\
 			$(top_builddir)/lib/pengine/libpe_status.la	\
 			$(top_builddir)/pengine/libpengine.la
 lrmd_test_SOURCES	= test.c
 
 noinst_HEADERS  = lrmd_private.h
 
 CLEANFILES = $(man8_MANS)