diff --git a/configure b/configure
index 97df56bf576c8c26148367b7638dbc2b7489bafa..444b2653e6eb8d982146d5fd7d5364d823eefa4c 100755
--- a/configure
+++ b/configure
@@ -1570,7 +1570,7 @@ outfiles="$outfiles Makeconf GNUmakefile \
 	xmlrpc/imageid xmlrpc/osid xmlrpc/server xmlrpc/xmlrpcbag \
 	cdrom/GNUmakefile cdrom/tbbootconfig/GNUmakefile \
 	cdrom/groklilo/GNUmakefile \
-	dhcpd/dhcpd.conf.template \
+	dhcpd/dhcpd.conf.template dhcpd/GNUmakefile \
 	install/GNUmakefile install/ops-install install/boss-install \
 	install/newnode_sshkeys/GNUmakefile "
 
diff --git a/configure.in b/configure.in
index a80522d0417943bae783567c9f02e6a018fb13c6..5f96e41123b0d857ed7db5e075034a77a3a91f5f 100755
--- a/configure.in
+++ b/configure.in
@@ -608,7 +608,7 @@ outfiles="$outfiles Makeconf GNUmakefile \
 	xmlrpc/imageid xmlrpc/osid xmlrpc/server xmlrpc/xmlrpcbag \
 	cdrom/GNUmakefile cdrom/tbbootconfig/GNUmakefile \
 	cdrom/groklilo/GNUmakefile \
-	dhcpd/dhcpd.conf.template \
+	dhcpd/dhcpd.conf.template dhcpd/GNUmakefile \
 	install/GNUmakefile install/ops-install install/boss-install \
 	install/newnode_sshkeys/GNUmakefile "
 
diff --git a/dhcpd/GNUmakefile.in b/dhcpd/GNUmakefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..2773689fa37ae04bf85e76f5dcd941fa70e5e791
--- /dev/null
+++ b/dhcpd/GNUmakefile.in
@@ -0,0 +1,35 @@
+#
+# EMULAB-COPYRIGHT
+# Copyright (c) 2000-2004 University of Utah and the Flux Group.
+# All rights reserved.
+#
+
+SRCDIR		= @srcdir@
+TESTBED_SRCDIR	= @top_srcdir@
+OBJDIR		= ..
+SUBDIR		= dhcpd
+
+ETCDIR          = /usr/local/etc
+
+DHCPD_FILES	= dhcpd.conf.template
+
+include $(OBJDIR)/Makeconf
+
+#
+# Force dependencies on the scripts so that they will be rerun through
+# configure if the .in file is changed.
+# 
+all: $(DHCPD_FILES)
+
+include $(TESTBED_SRCDIR)/GNUmakerules
+
+install:	$(ETCDIR)/dhcpd.conf.template
+	-chmod 664 $(ETCDIR)/dhcpd.conf.template
+
+clean: 
+	rm -f $(DHCPD_FILES)
+
+$(ETCDIR)/%: %
+	@echo "Installing $<"
+	-mkdir -p $(ETCDIR)
+	$(INSTALL) $< $@