From owner-FreeBSD-tech-jp@jp.freebsd.org  Tue Sep 16 14:32:46 1997
Received: by jaz.jp.freebsd.org (8.8.7+2.7Wbeta7/8.7.3) id OAA29423
	Tue, 16 Sep 1997 14:32:46 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.7+2.7Wbeta7/8.7.3) with ESMTP id OAA29418
	for <FreeBSD-tech-jp@jp.freebsd.org>; Tue, 16 Sep 1997 14:32:44 +0900 (JST)
Received: from cubic.shisham.co.jp (tksm2DS31.tks.mesh.ad.jp [133.205.221.181]) by meshsv88.tk.mesh.ad.jp (8.8.4+2.7Wbeta4/3.5Wpl1-) with ESMTP id OAA00976 for <FreeBSD-tech-jp@jp.freebsd.org>; Tue, 16 Sep 1997 14:32:35 +0900 (JST)
Received: foo.bar.org; Tue, 16 Sep 1997 14:31:33 +0900 (JST)
Message-Id: <Lucky.199709160531.OAA00289.Lucky>
To: FreeBSD-tech-jp@jp.freebsd.org
From: Shiba <shiba@mxs.meshnet.or.jp>
In-Reply-To: Your message of "Sun, 14 Sep 1997 22:48:18 +0900"
	<199709141348.WAA18148@peace.calm.imasy.or.jp>
References: <199709141348.WAA18148@peace.calm.imasy.or.jp>
X-Mailer: Mew version 1.90 on XEmacs 20.3 (Tirana)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Tue_Sep_16_14:31:29_1997_179)--"
Content-Transfer-Encoding: 7bit
Date: Tue, 16 Sep 1997 14:31:32 +0900
X-Dispatcher: imput version 970830
Lines: 454
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=20]
X-Sequence: FreeBSD-tech-jp 619
Subject: [FreeBSD-tech-jp 619] pararell make
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org

----Next_Part(Tue_Sep_16_14:31:29_1997_179)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit


$BG_K\MM(B>  $B$3$l$rDL$k$h$&$K$7$F$_$^$7$?!#%Q%C%A$rIU$1$F$*$-$^$9!#(B
$BG_K\MM(B>  $B@^3Q$J$s$G!"7o$N%Q%C%A$rEv$F$?(B Makefile $B$G(B buildworld $B$7$F$_$^$7$?!#(B
$BG_K\MM(B>$B$A$J$_$K!"(BP6-180 x 2 $B$G(B $BLs(B 2:15 $B$G$7$?!#(B

	$B@^3Q$G$9$N$G!">.@8$b$d$C$F$_$^$7$?!#F1$8$/(B
	P6-180(256K) * 2 $B$G$9!#C"$7(BO/C 233$B$G$9!#(B
	1:32$B$G$7$?!#(B(make -j32 buildworld >& /tmp/hoge)

	$B8=:_(B?$B$O(Bmake world$BDL$i$J$$$h$&$G$9$,!"@N$KLa$9(Bpatch
	($BG_K\MM$N(Bpatch$B$rJq4^$7$F$$$^$9!#(B)$B$J$N$G!"$H$j$"$($:!"(B
	make world$B$O$H$*$j$^$9!#(B

	original$B$OAGD>$KEv$?$i$J$$ItJ,$b$"$k$N$G!"@0M}$N0UL#$b(B
	$B7s$M$F!"%a!<%k$7$F$*$-$^$9!#(B

----Next_Part(Tue_Sep_16_14:31:29_1997_179)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

--- ./gnu/usr.bin/cc/cc1plus/Makefile.orig	Sun Jun 29 15:03:27 1997
+++ ./gnu/usr.bin/cc/cc1plus/Makefile	Tue Sep 16 12:37:41 1997
@@ -6,7 +6,7 @@
 .PATH:	${.CURDIR}/../../../../contrib/gcc/cp
 
 PROG =	cc1plus
-SRCS =	parse.c \
+SRCS =	parse.c parse.h \
 	call.c class.c cvt.c decl.c decl2.c edsel.c errfn.c \
 	error.c except.c expr.c gc.c init.c lex.c method.c pt.c \
 	ptree.c repo.c search.c sig.c spew.c tree.c typeck.c typeck2.c xref.c
@@ -17,6 +17,7 @@
 LDADD+=	${LIBCC_INT}
 CFLAGS+= -I.	# I mean it.
 
+.ORDER: parse.c parse.h
 parse.c parse.h: parse.y
 	${BISON} -d ${GCCDIR}/cp/parse.y -o parse.c 
 	grep '^#define[   ]*YYEMPTY' parse.c >>parse.h
--- ./gnu/usr.bin/cc/cc_tools/Makefile.orig	Sun Feb 23 00:44:58 1997
+++ ./gnu/usr.bin/cc/cc_tools/Makefile	Tue Sep 16 12:37:41 1997
@@ -26,8 +26,9 @@
 
 .endfor
 
+.ORDER: bi-parser.c bi-parser.h
 bi-parser.c bi-parser.h:	bi-parser.y
-	${BISON} ${BISONFLAGS} -d ${.ALLSRC} -o ${.TARGET}
+	${BISON} ${BISONFLAGS} -d ${.ALLSRC} -o bi-parser.c
 
 SRCS+= bi-parser.c bi-parser.h
 
@@ -82,6 +83,7 @@
 
 #-----------------------------------------------------------------------
 # C parser
+.ORDER: c-parse.c c-parse.h
 c-parse.c c-parse.h: c-parse.in
 	sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
 	    -e "/^ifc$$/d" -e "/^end ifc$$/d" \
@@ -94,6 +96,7 @@
 
 #-----------------------------------------------------------------------
 # objc parser
+.ORDER: objc-parse.c objc-parse.h
 objc-parse.c objc-parse.h: c-parse.in
 	sed -e "/^ifc$$/,/^end ifc$$/d" \
 	    -e "/^ifobjc$$/d" -e "/^end ifobjc$$/d" \
@@ -114,6 +117,12 @@
 
 #-----------------------------------------------------------------------
 all:		${BINFORMAT} ${SRCS}
+
+#-----------------------------------------------------------------------
+# Make 'depend' in compat mode
+.if make(depend)
+.SINGLESHELL:
+.endif
 
 beforedepend:	${BINFORMAT}
 
--- ./gnu/usr.bin/cc/cpp/Makefile.orig	Sun Feb 23 00:44:59 1997
+++ ./gnu/usr.bin/cc/cpp/Makefile	Tue Sep 16 12:37:41 1997
@@ -9,6 +9,7 @@
 MAN1=	cccp.1
 MLINKS=	cccp.1 cpp.1
 
+.ORDER: cexp.c cexp.h
 cexp.c cexp.h: cexp.y
 	${BISON} -d ${GCCDIR}/cexp.y -o cexp.c
 
--- ./gnu/usr.bin/gdb/gdb/Makefile.orig	Fri May  2 20:22:51 1997
+++ ./gnu/usr.bin/gdb/gdb/Makefile	Tue Sep 16 12:37:41 1997
@@ -39,7 +39,8 @@
 #CFLAGS+= -g
 
 CLEANFILES+=	c-exp.c f-exp.c m2-exp.c init.c y.tab.h init.c-tmp
-beforedepend:	c-exp.c f-exp.c m2-exp.c init.c
+#beforedepend:	c-exp.c f-exp.c m2-exp.c init.c
+.ORDER:	c-exp.c f-exp.c m2-exp.c
 
 .if exists(${.OBJDIR}/../bfd)
 LDADD+=   -L${.OBJDIR}/../bfd -lbfd
--- ./bin/sh/Makefile.orig	Tue Aug 26 04:50:01 1997
+++ ./bin/sh/Makefile	Tue Sep 16 12:37:41 1997
@@ -7,7 +7,8 @@
 	mystring.c options.c output.c parser.c printf.c redir.c show.c \
 	trap.c var.c
 GENSRCS= arith.c arith_lex.c builtins.c init.c nodes.c syntax.c
-SRCS=	${SHSRCS} ${GENSRCS}
+GENHDRS= builtins.h nodes.h syntax.h token.h
+SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS}
 
 DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
 LDADD+= -ll -ledit -ltermcap
@@ -19,13 +20,13 @@
 
 .PATH:	${.CURDIR}/bltin ${.CURDIR}/../../usr.bin/printf
 
-CLEANFILES+= builtins.h mkinit mkinit.o mknodes mknodes.o \
+CLEANFILES+= mkinit mkinit.o mknodes mknodes.o \
 	mksyntax mksyntax.o \
-	nodes.h syntax.h token.h y.tab.h
-CLEANFILES+= ${GENSRCS}
+	y.tab.h
+CLEANFILES+= ${GENSRCS} ${GENHDRS}
 
-beforedepend: builtins.h nodes.h syntax.h token.h
 
+.ORDER: builtins.c builtins.h
 builtins.c builtins.h: mkbuiltins builtins.def
 	cd ${.CURDIR}; sh mkbuiltins ${.OBJDIR}
 
@@ -45,9 +46,11 @@
 mksyntax: mksyntax.o
 mksyntax.o: mksyntax.c		# XXX and many headers
 
+.ORDER: nodes.c nodes.h
 nodes.c nodes.h: mknodes nodetypes nodes.c.pat
 	./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
 
+.ORDER: syntax.c syntax.h
 syntax.c syntax.h: mksyntax
 	./mksyntax
 
--- ./lib/libpcap/Makefile.orig	Tue May 27 09:08:01 1997
+++ ./lib/libpcap/Makefile	Tue Sep 16 12:37:41 1997
@@ -32,6 +32,7 @@
 		${DESTDIR}/usr/include
 .endfor
 
+.ORDER: grammar.c tokdefs.h
 tokdefs.h grammar.c: grammar.y
 	${YACC} ${YACCFLAGS} -d ${PCAP_DISTDIR}/grammar.y
 	mv y.tab.c grammar.c
--- ./share/mk/bsd.dep.mk.orig	Wed Aug 27 01:54:33 1997
+++ ./share/mk/bsd.dep.mk	Tue Sep 16 12:37:41 1997
@@ -33,8 +33,8 @@
 
 # some of the rules involve .h sources, so remove them from mkdep line
 .if !target(depend)
-depend: beforedepend ${DEPENDFILE} afterdepend _SUBDIR
 .if defined(SRCS)
+depend: beforedepend ${DEPENDFILE} afterdepend _SUBDIR
 
 # .if defined ${SRCS:M*.[sS]} does not work
 __depend_s=	${SRCS:M*.[sS]}
@@ -60,11 +60,15 @@
 	cd ${.CURDIR}; ${MAKE} _EXTRADEPEND
 .endif
 
+.ORDER: ${DEPENDFILE} afterdepend
 .else
-${DEPENDFILE}: _SUBDIR
+depend: beforedepend afterdepend _SUBDIR
 .endif
 .if !target(beforedepend)
 beforedepend:
+.else
+.ORDER: beforedepend ${DEPENDFILE}
+.ORDER: beforedepend afterdepend
 .endif
 .if !target(afterdepend)
 afterdepend:
--- ./sys/i386/boot/netboot/Makefile.orig	Fri May 16 04:04:33 1997
+++ ./sys/i386/boot/netboot/Makefile	Tue Sep 16 12:37:41 1997
@@ -72,16 +72,18 @@
 	${.OBJDIR}/makerom ${.TARGET}
 
 nb8390.com:	makerom start2.ro ${SRCS:N*.h:R:S/$/.o/g} ns8390.o
-	${LD} ${LDFLAGS} -o netboot.com ${OBJS} ns8390.o
-	strip netboot.com
-	size netboot.com
-	dd ibs=32 skip=1 if=netboot.com of=${.TARGET}
+	${LD} ${LDFLAGS} -o ${.TARGET}.tmp ${OBJS} ns8390.o
+	strip ${.TARGET}.tmp
+	size ${.TARGET}.tmp
+	dd ibs=32 skip=1 if=${.TARGET}.tmp of=${.TARGET}
+	rm -f ${.TARGET}.tmp
 
 nb3c509.com:	start2.o ${SRCS:N*.h:R:S/$/.o/g} 3c509.o
-	${LD} ${LDFLAGS} -o netboot.com ${OBJS} 3c509.o
-	strip netboot.com
-	size netboot.com
-	dd ibs=32 skip=1 if=netboot.com of=${.TARGET}
+	${LD} ${LDFLAGS} -o ${.TARGET}.tmp ${OBJS} 3c509.o
+	strip ${.TARGET}.tmp
+	size ${.TARGET}.tmp
+	dd ibs=32 skip=1 if=${.TARGET}.tmp of=${.TARGET}
+	rm -f ${.TARGET}.tmp
 
 
 .include <bsd.prog.mk>
--- ./usr.bin/lex/Makefile.orig	Sun Feb 23 04:55:34 1997
+++ ./usr.bin/lex/Makefile	Tue Sep 16 12:37:41 1997
@@ -15,6 +15,7 @@
 LINKS+=	${BINDIR}/lex ${BINDIR}/flex++
 
 SRCS=		scan.c ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.c \
+		parse.h \
 		skel.c sym.c tblcmp.c yylex.c
 LFLAGS+=	-is
 CFLAGS+=	-I. -I${.CURDIR}
@@ -34,6 +35,7 @@
 		${.CURDIR}/FlexLexer.h ${DESTDIR}/usr/include/g++
 
 
+.ORDER:	parse.c parse.h
 parse.c parse.h: parse.y
 	$(YACC) -d $(.CURDIR)/parse.y
 	mv -f y.tab.c parse.c
@@ -46,7 +48,6 @@
 		cp -f ${.CURDIR}/initscan.c scan.c ; \
 	}
 
-beforedepend: parse.h
 scan.o:	parse.h
 
 test: check
--- ./usr.sbin/amd/fsinfo/Makefile.orig	Sun Feb 23 01:03:14 1997
+++ ./usr.sbin/amd/fsinfo/Makefile	Tue Sep 16 12:37:41 1997
@@ -3,7 +3,7 @@
 
 PROG=	fsinfo
 MAN8=	fsinfo.8
-SRCS=	fsinfo.c fsi_gram.c fsi_lex.c \
+SRCS=	fsinfo.c fsi_gram.c fsi_gram.h fsi_lex.c \
 	fsi_util.c fsi_analyze.c fsi_dict.c \
 	wr_atab.c wr_bparam.c wr_dumpset.c \
 	wr_exportfs.c wr_fstab.c
@@ -16,6 +16,7 @@
 CFLAGS+=-DOS_HDR=\"os-bsd44.h\"
 
 fsi_lex.o fsinfo.o: fsi_gram.h
+.ORDER: fsi_gram.c fsi_gram.h
 fsi_gram.c fsi_gram.h: ../fsinfo/fsi_gram.y
 	@echo "# expect 2 shift/reduce conflicts"
 	${YACC} -d ${.CURDIR}/fsi_gram.y
--- ./Makefile.orig	Mon Sep 15 14:58:50 1997
+++ ./Makefile	Tue Sep 16 12:38:26 1997
@@ -224,9 +224,10 @@
 	mkdir -p ${WORLDTMP}/usr/bin
 	cd ${.CURDIR}/usr.bin/make && \
 		${IBMAKE} -I${.CURDIR}/share/mk \
-			${OBJDIR} clean cleandepend depend && \
+			-B ${OBJDIR} clean cleandepend depend && \
+		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all && \
 		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} \
-			all install clean cleandepend
+			-B install clean cleandepend
 	@echo
 	@echo "--------------------------------------------------------------"
 	@echo " Making hierarchy"
@@ -237,14 +238,14 @@
 	@echo "--------------------------------------------------------------"
 	@echo " Cleaning up the obj tree"
 	@echo "--------------------------------------------------------------"
-	cd ${.CURDIR} && ${BMAKE} ${CLEANDIR}
+	cd ${.CURDIR} && ${BMAKE} par-${CLEANDIR}
 .endif
 .if !defined(NOOBJDIR)
 	@echo
 	@echo "--------------------------------------------------------------"
 	@echo " Rebuilding the obj tree"
 	@echo "--------------------------------------------------------------"
-	cd ${.CURDIR} && ${BMAKE} obj
+	cd ${.CURDIR} && ${BMAKE} par-obj
 .endif
 	@echo
 	@echo "--------------------------------------------------------------"
@@ -280,7 +281,7 @@
 	@echo "--------------------------------------------------------------"
 	@echo " Rebuilding dependencies"
 	@echo "--------------------------------------------------------------"
-	cd ${.CURDIR} && ${XMAKE} depend
+	cd ${.CURDIR} && ${XMAKE} -j8 par-depend
 	@echo
 	@echo "--------------------------------------------------------------"
 	@echo " Building everything.."
@@ -423,11 +424,14 @@
 	cd ${.CURDIR}/include && make symlinks
 .endif
 	cd ${.CURDIR}/usr.bin/make && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 	cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 	cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} -DNOLIB all && \
+		${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR} ${OBJDIR}
 
 #
 # include-tools - generally the same as 'bootstrap', except that it's for
@@ -438,8 +442,9 @@
 # on cleaned away headers in ${WORLDTMP}.
 #
 include-tools:
-	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} cleandepend depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} -B cleandepend depend && \
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 
 #
 # includes - possibly generate and install the include files.
@@ -450,7 +455,7 @@
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
 		-p ${DESTDIR}/usr/include
 .endif
-	cd ${.CURDIR}/include &&		${MAKE} all beforeinstall
+	cd ${.CURDIR}/include &&		${MAKE} -B all installhdrs symlinks
 	cd ${.CURDIR}/gnu/include &&		${MAKE} install
 	cd ${.CURDIR}/gnu/lib/libmp &&		${MAKE} beforeinstall
 	cd ${.CURDIR}/gnu/lib/libobjc &&	${MAKE} beforeinstall
@@ -480,7 +485,7 @@
 .endif
 	cd ${.CURDIR}/lib/libopie &&		${MAKE} beforeinstall
 	cd ${.CURDIR}/lib/libpcap &&		${MAKE} beforeinstall
-	cd ${.CURDIR}/lib/librpcsvc &&		${MAKE} beforeinstall
+	cd ${.CURDIR}/lib/librpcsvc &&		${MAKE} -B beforeinstall
 	cd ${.CURDIR}/lib/libskey &&		${MAKE} beforeinstall
 .if !defined(NOTCL) && exists (${.CURDIR}/contrib/tcl) && \
 	exists(${.CURDIR}/usr.bin/tclsh) && exists (${.CURDIR}/lib/libtcl)
@@ -517,7 +522,8 @@
 		usr.bin/ranlib		\
 		usr.bin/uudecode
 	cd ${.CURDIR}/$d && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endfor
 
 #
@@ -526,43 +532,53 @@
 libraries:
 .if exists(lib/csu/i386)
 	cd ${.CURDIR}/lib/csu/i386 && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(lib/libcompat)
 	cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(lib/libncurses)
 	cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(lib/libtermcap)
 	cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(gnu)
 	cd ${.CURDIR}/gnu/lib && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
 	cd ${.CURDIR}/secure/lib && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(lib)
 	cd ${.CURDIR}/lib && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(usr.bin/lex/lib)
 	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
 	cd ${.CURDIR}/eBones/lib && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 .if exists(usr.sbin/pcvt/keycap)
 	cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endif
 
 #
@@ -633,7 +649,25 @@
 		usr.sbin/mtree		\
 		usr.sbin/zic
 	cd ${.CURDIR}/$d && ${MAKE} depend && \
-		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
+		${MAKE} ${MK_FLAGS} all && \
+		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
+.endfor
+
+.for __target in clean cleandir obj depend
+.for entry in ${SUBDIR}
+${entry}.${__target}__D: .PHONY
+	if test -d ${.CURDIR}/${entry}.${MACHINE}; then \
+		${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE}"; \
+		edir=${entry}.${MACHINE}; \
+		cd ${.CURDIR}/$${edir}; \
+	else \
+		${ECHODIR} "===> ${DIRPRFX}${entry}"; \
+		edir=${entry}; \
+		cd ${.CURDIR}/$${edir}; \
+	fi; \
+	${MAKE} ${__target} DIRPRFX=${DIRPRFX}$${edir}/
+.endfor
+par-${__target}: ${SUBDIR:S/$/.${__target}__D/}
 .endfor
 
 .include <bsd.subdir.mk>

----Next_Part(Tue_Sep_16_14:31:29_1997_179)----
