diff --git a/ghc/utils/ugen/Makefile b/ghc/utils/ugen/Makefile
index 59b56ef5bd726aa2a08cd1ae346fb5ed792f6753..56c48bfe92026e79bcf41ccff881a51f3436fb1d 100644
--- a/ghc/utils/ugen/Makefile
+++ b/ghc/utils/ugen/Makefile
@@ -1,18 +1,26 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.2 1996/11/21 16:49:13 simonm Exp $
+# $Id: Makefile,v 1.3 1997/03/13 09:02:20 sof Exp $
 
-TOP=../../..
-FlexSuffixRules = YES
-YaccSuffixRules = YES
-include $(TOP)/ghc/mk/ghc.mk
+TOP=../..
+include $(TOP)/mk/boilerplate.mk
+WAYS=
 
-YFLAGS = -d
-SRCS = syntax.tab.c lex.c id.c tree.c yyerror.c gen.c main.c
-PROG = ugen
+YACC_OPTS += -d
+C_SRCS = syntax.tab.c lex.c id.c tree.c yyerror.c gen.c main.c
+C_PROG = ugen
 LIBS = $(FLEX_LIB)
-DESTDIR = $(INSTBINDIR)
 
-clean ::
-	$(RM) lex.c syntax.tab.c syntax.tab.h
+CLEAN_FILES += syntax.tab.c syntax.tab.h
 
-include $(TOP)/mk/Cprog.mk
+#
+# Include flex & bison output in the source distribution.
+#
+SRC_DIST_FILES+= lex.c syntax.tab.c syntax.tab.h
+
+include $(TOP)/mk/target.mk
+
+#
+# Needed quite early in the booting of the compiler, so
+# build it right away.
+#
+boot :: all
diff --git a/ghc/utils/unlit/Makefile b/ghc/utils/unlit/Makefile
index 7a7b3c2533162a638906285220b26005945c09a2..4a3a6585f14631701cd341ed6d86e427966e06a6 100644
--- a/ghc/utils/unlit/Makefile
+++ b/ghc/utils/unlit/Makefile
@@ -1,8 +1,16 @@
-TOP=../../..
-include $(TOP)/ghc/mk/ghc.mk
+TOP=../..
+include $(TOP)/mk/boilerplate.mk
+WAYS=
 
-SRCS=unlit.c
-PROG=unlit
-DESTDIR=$(INSTLIBDIR_GHC)
+C_SRCS=unlit.c
+C_PROG=unlit
 
-include $(TOP)/mk/Cprog.mk
+# Get it over with!
+boot :: all
+
+#
+# Install until in lib/.*
+#
+INSTALL_LIBEXECS += $(C_PROG)
+
+include $(TOP)/mk/target.mk