diff --git a/GNUmakefile.in b/GNUmakefile.in
index 747d6b3d712f2f500ec3cac9124996d1b8c42c0f..3d6a21eb940cb37a5d08caec7c0e02338c21db14 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -194,28 +194,20 @@ client-mkdirs:
 client:
 	@$(MAKE) -C lib client
 	@$(MAKE) -C clientside client
-ifeq ($(EVENTSYS),1)
-	@$(MAKE) -C event client
-endif
 	@$(MAKE) -C os client
 ifneq ($(SYSTEM),CYGWIN_NT-5.1)
 	@$(MAKE) -C capture client
 	@$(MAKE) -C tip client
 endif
-	@$(MAKE) -C tmcd client
 
 client-install: client client-mkdirs
 	@$(MAKE) -C lib client-install
 	@$(MAKE) -C clientside client-install
-ifeq ($(EVENTSYS),1)
-	@$(MAKE) -C event client-install
-endif
 	@$(MAKE) -C os client-install
 ifneq ($(SYSTEM),CYGWIN_NT-5.1)
 	@$(MAKE) -C capture client-install
 	@$(MAKE) -C tip client-install
 endif
-	@$(MAKE) -C tmcd client-install
 
 subboss: client
 	@$(MAKE) -C os subboss
@@ -223,9 +215,6 @@ subboss: client
 
 subboss-install: subboss
 	@$(MAKE) -C clientside client-install
-ifeq ($(EVENTSYS),1)
-	@$(MAKE) -C event client-install
-endif
 ifneq ($(SYSTEM),CYGWIN_NT-5.1)
 	@$(MAKE) -C capture client-install
 	@$(MAKE) -C tip client-install
@@ -233,7 +222,7 @@ endif
 	@$(MAKE) -C utils subboss-install
 	@$(MAKE) -C os subboss-install
 	@$(MAKE) -C db subboss-install
-	@$(MAKE) -C tmcd subboss-install
+	@$(MAKE) -C clientside/tmcc subboss-install
 	@$(MAKE) -C rc.d subboss-install
 	@$(MAKE) -C dhcpd subboss-install
 	# Hack: this should probably be done by a subboss-install
@@ -275,46 +264,38 @@ mfsoscheck:
 
 mfs: mfsoscheck
 	@$(MAKE) -C os mfs
-	@$(MAKE) -C tmcd mfs
 	@$(MAKE) -C clientside mfs
 
 mfs-nostatic: mfsoscheck
 	@NOSTATIC=1 $(MAKE) -C os mfs
-	@NOSTATIC=1 $(MAKE) -C tmcd mfs
 	@NOSTATIC=1 $(MAKE) -C clientside mfs
 
 mfs-install: destdircheck mfs client-mkdirs
 	@$(MAKE) -C os mfs-install
-	@$(MAKE) -C tmcd mfs-install
 	@$(MAKE) -C clientside mfs-install
 
 mfs-nostatic-install: destdircheck mfs-nostatic client-mkdirs
 	@$(MAKE) -C os mfs-install
-	@$(MAKE) -C tmcd mfs-install
 	@$(MAKE) -C clientside mfs-install
 
 frisbee-mfs: mfsoscheck
 	@$(MAKE) -C cdrom/groklilo client
 	@$(MAKE) -C os frisbee-mfs
-	@$(MAKE) -C tmcd frisbee-mfs
 	@$(MAKE) -C clientside frisbee-mfs
 
 frisbee-mfs-nostatic: mfsoscheck
 	@NOSTATIC=1 $(MAKE) -C cdrom/groklilo client
 	@NOSTATIC=1 $(MAKE) -C os frisbee-mfs
-	@NOSTATIC=1 $(MAKE) -C tmcd frisbee-mfs
 	@NOSTATIC=1 $(MAKE) -C clientside frisbee-mfs
 
 frisbee-mfs-install: destdircheck frisbee-mfs
 	@CLIENT_BINDIR=/etc/testbed $(MAKE) -e -C cdrom/groklilo client-install
 	@$(MAKE) -C os frisbee-mfs-install
-	@$(MAKE) -C tmcd frisbee-mfs-install
 	@$(MAKE) -C clientside frisbee-mfs-install
 
 frisbee-mfs-nostatic-install: destdircheck frisbee-mfs-nostatic
 	@CLIENT_BINDIR=/etc/testbed $(MAKE) -e -C cdrom/groklilo client-install
 	@$(MAKE) -C os frisbee-mfs-install
-	@$(MAKE) -C tmcd frisbee-mfs-install
 	@$(MAKE) -C clientside frisbee-mfs-install
 
 cdboot: mfsoscheck client
@@ -322,13 +303,13 @@ cdboot: mfsoscheck client
 
 cdboot-install: destdircheck cdboot
 	@$(MAKE) -C cdrom client-install
-	@$(MAKE) -C tmcd/freebsd6 cdboot-install
+	@$(MAKE) -C clientside/tmcc/freebsd6 cdboot-install
 
 flashboot: mfsoscheck client
 	@echo "Flash dongle files built"
 
 flashboot-install: destdircheck flashboot
-	@$(MAKE) -C tmcd/freebsd6 cdboot-install
+	@$(MAKE) -C clientside/tmcc/freebsd6 cdboot-install
 	@$(MAKE) -C os frisbee-mfs-install
 	@$(MAKE) -C flash client-install
 	@$(MAKE) -C clientside frisbee-mfs-install
diff --git a/Makeconf.in b/Makeconf.in
index 90f517b190104859cbd242d6959ba4a93d2b2de4..c130617f15e53edab528ebb3488d39e0c8a60de9 100644
--- a/Makeconf.in
+++ b/Makeconf.in
@@ -1,6 +1,6 @@
 #
 # EMULAB-COPYRIGHT
-# Copyright (c) 2000-2009 University of Utah and the Flux Group.
+# Copyright (c) 2000-2011 University of Utah and the Flux Group.
 # All rights reserved.
 # 
 # Most of the configure-substitution magic is done here.
@@ -83,6 +83,7 @@ ELVIN_COMPAT    = @ELVIN_COMPAT@
 HAVE_MEZZANINE	= @HAVE_MEZZANINE@
 GTK_CONFIG	= @GTK_CONFIG@
 BRAINSTEM_DIR	= @BRAINSTEM_DIR@
+WITH_EMULAB     = @WITH_EMULAB@
 
 host_cpu	= @host_cpu@
 
diff --git a/clientside/configure b/clientside/configure
index eed8981de07cc53d4cc94ed2f666000ff69589d9..717743733f41b3dacdda406a2b1ed716067bb67d 100755
--- a/clientside/configure
+++ b/clientside/configure
@@ -707,6 +707,7 @@ TAR
 RPM
 ELVIN_CONFIG
 PATH
+WITH_EMULAB
 ELVIN_COMPAT
 EVENTSYS
 CLIENT_ETCDIR
@@ -715,7 +716,6 @@ CLIENT_VARDIR
 CLIENT_MANDIR
 LOG_TESTBED
 TBLOGFACIL
-WITH_EMULAB
 PYTHON
 GREP
 EGREP
@@ -727,7 +727,6 @@ ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 with_TBDEFS
-with_emulab
 enable_elvin_compat
 enable_TPM
 '
@@ -1373,7 +1372,6 @@ Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-TBDEFS=name	Specify definitions file (defs-default default)
-  --with-emulab	Internal option; build with Emulab (default no)
 
 Some influential environment variables:
   CC          C compiler command
@@ -4129,6 +4127,12 @@ fi
 # Need this for Makeconf.
 
 
+#
+# Flag build as clientside only, not withing full Emulab build
+#
+WITH_EMULAB=0
+
+
 #
 # Elvin compat option, which we	still need. Always turn on event system.
 #
@@ -4187,28 +4191,6 @@ $as_echo "$as_me: error: Definitions file $TBDEFS was not found." >&2;}
 fi
 
 
-#
-# Internal option; supplied when building as part of full Emulab.
-#
-WITH_EMULAB=0
-
-
-# Check whether --with-emulab was given.
-if test "${with_emulab+set}" = set; then
-  withval=$with_emulab;
-    if test "$withval" = "yes"; then
-	{ { $as_echo "$as_me:$LINENO: error: Invalid with-emulab directive - Must specify the value" >&5
-$as_echo "$as_me: error: Invalid with-emulab directive - Must specify the value" >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-    WITH_EMULAB=1
-    EMULAB_SRCDIR=$withval
-
-
-fi
-
-
-
 #
 # Allow command line option, since might not have a defs file.
 #
diff --git a/clientside/configure.in b/clientside/configure.in
index d1eee3c5aa67cb0e89136b5198a07f2ec561d1c9..6cbd379b0603a8140c3208435a60b522f9ff6658 100644
--- a/clientside/configure.in
+++ b/clientside/configure.in
@@ -53,6 +53,12 @@ AC_PATH_PROG(ELVIN_CONFIG,elvin-config)
 # Need this for Makeconf.
 AC_SUBST(PATH)
 
+#
+# Flag build as clientside only, not withing full Emulab build
+#
+WITH_EMULAB=0
+AC_SUBST(WITH_EMULAB)
+
 #
 # Elvin compat option, which we	still need. Always turn on event system.
 #
@@ -101,23 +107,6 @@ AC_ARG_WITH(TBDEFS,
     fi
 ])
 
-#
-# Internal option; supplied when building as part of full Emulab.
-#
-WITH_EMULAB=0
-
-AC_ARG_WITH(emulab,
-[  --with-emulab	Internal option; build with Emulab (default no)],
-[
-    if test "$withval" = "yes"; then
-	AC_MSG_ERROR([Invalid with-emulab directive - Must specify the value])
-    fi
-    WITH_EMULAB=1
-    EMULAB_SRCDIR=$withval
-    
-])
-AC_SUBST(WITH_EMULAB)
-
 #
 # Allow command line option, since might not have a defs file.
 #
diff --git a/clientside/os/GNUmakefile.in b/clientside/os/GNUmakefile.in
index b327ce0bb7214d3e69069882f1ad6a1a06aa73f4..edc747bd86f37b236ce2cfd540cb138ae080e825 100644
--- a/clientside/os/GNUmakefile.in
+++ b/clientside/os/GNUmakefile.in
@@ -20,6 +20,8 @@ all:	all-subdirs
 include $(TESTBED_SRCDIR)/GNUmakerules
 
 boss-install:
+	$(MAKE) -C genhostsfile boss-install
+	$(MAKE) -C syncd boss-install
 	-mkdir -p $(INSTALL_DIR)/opsdir/man/man1
 	$(INSTALL) -m 644 $(SRCDIR)/install-tarfile.1 \
 		$(INSTALL_DIR)/opsdir/man/man1/install-tarfile.1
diff --git a/configure b/configure
index 66d6938d218b504c81afc6b4f226b0e5a04a00d6..2e128465c1479e173525361ef674d7e278dd50eb 100755
--- a/configure
+++ b/configure
@@ -851,6 +851,7 @@ TBUSERSARCHIVE
 TBUSERSARCHIVE_NOSLASH
 TBERRORSEMAIL
 TBERRORSEMAIL_NOSLASH
+WITH_EMULAB
 LOG_TESTBED
 LEDA
 ASSIGN
@@ -5052,6 +5053,12 @@ GROUPSROOT_DIR="/groups"
 SHAREROOT_DIR="/share"
 SCRATCHROOT_DIR=""
 
+#
+# Flag as full Emulab build (for clientside).
+#
+WITH_EMULAB=1
+
+
 #
 # Okay, I know this is improper usage of --with. Too bad.
 #
@@ -7200,7 +7207,8 @@ outfiles="$outfiles clientside/GNUmakefile \
  clientside/tools/GNUmakefile clientside/tools/pcapper/GNUmakefile \
  clientside/sensors/GNUmakefile clientside/sensors/slothd/GNUmakefile \
  clientside/sensors/slothd/sdisrunning clientside/sensors/slothd/sddeploy \
- clientside/sensors/canaryd/GNUmakefile clientside/sensors/canaryd/feedbacklogs \
+ clientside/sensors/canaryd/GNUmakefile \
+ clientside/sensors/canaryd/feedbacklogs \
  clientside/os/GNUmakefile clientside/os/syncd/GNUmakefile \
  clientside/event/link-agent/GNUmakefile \
  clientside/event/proxy/GNUmakefile \
diff --git a/configure.in b/configure.in
index 1662c104ba070ee095b0a4554510e739cf2f31a7..0d471c080ed17a8592b206bdedf78b93df6e3584 100755
--- a/configure.in
+++ b/configure.in
@@ -330,6 +330,12 @@ GROUPSROOT_DIR="/groups"
 SHAREROOT_DIR="/share"
 SCRATCHROOT_DIR=""
 
+#
+# Flag as full Emulab build (for clientside). 
+#
+WITH_EMULAB=1
+AC_SUBST(WITH_EMULAB)
+
 #
 # Okay, I know this is improper usage of --with. Too bad.
 #
@@ -1065,7 +1071,7 @@ outfiles="$outfiles clientside/GNUmakefile \
  clientside/tools/GNUmakefile clientside/tools/pcapper/GNUmakefile \
  clientside/sensors/GNUmakefile clientside/sensors/slothd/GNUmakefile \
  clientside/sensors/slothd/sdisrunning clientside/sensors/slothd/sddeploy \
- clientside/sensors/canaryd/GNUmakefile
+ clientside/sensors/canaryd/GNUmakefile \
  clientside/sensors/canaryd/feedbacklogs \
  clientside/os/GNUmakefile clientside/os/syncd/GNUmakefile \
  clientside/event/link-agent/GNUmakefile \
diff --git a/lib/GNUmakefile.in b/lib/GNUmakefile.in
index e4666937f2ca3ab3748cb8d07d05aadc25ac8726..246bb901996111af79caaf9ecb6d0c58fc407adb 100644
--- a/lib/GNUmakefile.in
+++ b/lib/GNUmakefile.in
@@ -10,7 +10,7 @@ SUBDIR		= $(subst $(TESTBED_SRCDIR)/,,$(SRCDIR))
 
 include $(OBJDIR)/Makeconf
 
-SUBDIRS	= libtb event
+SUBDIRS	= libtb event tmcd
 
 all:	all-subdirs
 
diff --git a/lib/tmcd/GNUmakefile.in b/lib/tmcd/GNUmakefile.in
index 4484ac89b992fcbc868f45a8904fab60fe780fb5..7eceef28d676d91b94f8d59a34a1dc5e935fa64f 100644
--- a/lib/tmcd/GNUmakefile.in
+++ b/lib/tmcd/GNUmakefile.in
@@ -1,3 +1,4 @@
+
 #
 # EMULAB-COPYRIGHT
 # Copyright (c) 2000-2011 University of Utah and the Flux Group.
@@ -46,6 +47,8 @@ ssl.o:	ssl.c ssl.h tmcd.h
 tpm.o: tpm.h ssl.h tmcd.h
 notpm.o: tpm.h ssl.h tmcd.h
 
+client: all
+client-install:
 boss-install:
 control-install:
 subboss-install: