From owner-man-jp-reviewer@jp.freebsd.org  Sun Jan 16 23:29:02 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id XAA62473;
	Sun, 16 Jan 2000 23:29:02 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from tasogare.imasy.or.jp (mistral@tasogare.imasy.or.jp [202.227.24.5])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id XAA62466
	for <man-jp-reviewer@jp.freebsd.org>; Sun, 16 Jan 2000 23:29:01 +0900 (JST)
	(envelope-from mistral@imasy.or.jp)
Received: from mistral.wind.prv (isdn52.imasy.or.jp [202.227.24.244])
	by tasogare.imasy.or.jp (8.9.3+3.2W/3.7W-tasogare/smtpfeed 1.01) with ESMTP id XAA11412
	for <man-jp-reviewer@jp.freebsd.org>; Sun, 16 Jan 2000 23:28:53 +0900 (JST)
	(envelope-from mistral@imasy.or.jp)
Message-Id: <200001161428.XAA11412@tasogare.imasy.or.jp>
Received: (from yohta@localhost)
	by mistral.wind.prv (8.9.3/3.7Wpl2-990626) id XAA18162;
	Sun, 16 Jan 2000 23:25:39 +0900 (JST)
Date: Sun, 16 Jan 2000 23:25:39 +0900 (JST)
From: mistral@imasy.or.jp (Yoshihiko SARUMARU)
To: man-jp-reviewer@jp.freebsd.org
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
X-Mailer: mnews [version 1.22] 1999-12/19(Sun)
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: man-jp-reviewer 1931
Subject: [man-jp-reviewer 1931] make.1 (4.0-20000105-CURRENT)
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: mistral@imasy.or.jp

  $B1n4]$G$9!#(B
  make.1 $B$G$9!#(B
  $B0l1~85$NF|K\8lLu%9%?%$%k$K9g$o$;$?$D$b$j$G$9$,!"$"$^$j40A4$G$O(B
$B$J$$$+$b$7$l$^$;$s!#(B
--
$B1n4](B($B5l@+(B: $BB@ED(B)$BK'I'(B (Yoshihiko SARUMARU)
mail: mistral@imasy.or.jp	web: http://www.imasy.or.jp/~mistral/
Internet Week '99 $B$G(B eWnn $B$r(B 5000$B1_$G%P!<%2%s$7$F$$$?$N$GGc$C$?$b$N$N!"(B
$B%^%K%e%"%k$rFI$s$G$$$k2K$,$J$$!D!D!#(B

--- 3.4-jp/make.1	Wed Dec  8 00:40:38 1999
+++ 4.0-jp/make.1	Sun Jan 16 23:17:45 2000
@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	from: @(#)make.1	8.4 (Berkeley) 3/19/94
-.\" %FreeBSD: src/usr.bin/make/make.1,v 1.16.2.5 1999/12/05 12:36:19 cracauer Exp %
+.\" %FreeBSD: src/usr.bin/make/make.1,v 1.26 1999/12/05 12:23:03 cracauer Exp %
 .\"
 .\" this file based on that translated to japanese on NetBSD Japanese Reference
 .\" Manual Project, and modefied to fit FreeBSD Reference Manual
@@ -45,7 +45,7 @@
 .Nd $B%W%m%0%i%`$N0MB84X78$r%a%s%F%J%s%9$9$k(B
 .Sh $B=q<0(B
 .Nm make
-.Op Fl Beiknqrstv
+.Op Fl BPSeiknqrstv
 .Op Fl D Ar variable
 .Op Fl d Ar flags
 .Op Fl E Ar variable
@@ -56,28 +56,29 @@
 .Op Fl m Ar directory
 .Ek
 .Op Fl V Ar variable
-.Op Ar variable=value
+.Op Ar variable Ns No = Ns Ar value
 .Op Ar target ...
 .Sh $B2r@b(B
 .Nm make
-$B$O!"%W%m%0%i%`$N%a%s%F%J%s%9$rC1=c2=$9$k$?$a$N%D!<%k$G$9!#$=$NF~NO$O(B
-$B%U%!%$%kKh$N0MB84X78;XDj$N%j%9%H$G!"$=$l$>$l$N%U%!%$%k$,$I$N%W%m%0%i%`!"(B
-$B$I$N%U%!%$%k$K0MB8$9$k$+5-=R$5$l$F$$$^$9!#(B
-.Nm make
-$B$OAH$_9~$_$N%Q%9$+$i$3$N%j%9%H$r8!:w$7$^$9!#(B
-$B$=$N;XDj%j%9%H$H$7$F!"%U%!%$%k(B
+$B$O!"%W%m%0%i%`$N%a%s%F%J%s%9$rC1=c2=$9$k$?$a$N%D!<%k$G$9!#(B
+$B$=$NF~NO$O%U%!%$%k$N@8@.$H%W%m%0%i%`$H$N4V$N0MB84X78$r;XDj$9$k(B
+$B%j%9%H$,5-=R$5$l$F$$$^$9!#(B
+$B%+%l%s%H%G%#%l%/%H%j$^$?$OFCJL$J%*%V%8%'%/%H%G%#%l%/%H%j(B
+.Ql Va (.OBJDIR
+$B;2>H(B)
+$B$N$I$A$i$+0lJ}$K$*$$$F(B
 .Ql Pa makefile
-$B$,B8:_$9$l$P$=$l$r!"L5$1$l$P(B
+$B$H(B
 .Ql Pa Makefile
-$B$r!"AH$_9~$_%Q%9$H$H$b$K;HMQ$7$^$9!#(B
+$B$N:G=i$K8+$D$+$C$?J}$+$i!"$3$N;XDj$N%j%9%H$,FI$_9~$^$l$^$9!#(B
 .Ql Pa .depend
-$B$H$$$&%U%!%$%k$,$"$l$P!"$=$l$bFI$_9~$_$^$9(B
+$B$H$$$&%U%!%$%k$,8+$D$+$l$P!"$=$l$bFI$_9~$_$^$9(B
 .Pq Xr mkdep 1 $B$r;2>H(B
 $B!#(B
 .Pp
 $BK\%^%K%e%"%k$O%j%U%!%l%s%9$N$?$a$N$_$N%I%-%e%a%s%H$G$9!#(B
 .Nm make
-$B$H(B makefile $B$K4X$9$k>\$7$$5-=R$O(B
+$B$H(B makefile $B$K4X$9$k>\$7$$>R2p$O(B
 .%T "Make \- A Tutorial"
 $B$r;2>H$7$F$/$@$5$$!#(B
 .Pp
@@ -86,6 +87,9 @@
 .It Fl B
 $B%7!<%1%s%9Cf$N0MB89T$N%=!<%9$r:n@.$9$k$?$a$K!"3F%3%^%s%I$KBP$7$F(B
 1 $B$D$N%7%'%k$r<B9T$9$k!"%P%C%/%o!<%I8_49%b!<%I$G<B9T$7$h$&$H$7$^$9!#(B
+$B$3$N%*%W%7%g%s$O(B
+.Fl j
+$B$,;HMQ$5$l$J$$8B$j!"%G%U%)%k%H$GM-8z$K$J$j$^$9!#(B
 .It Fl D Ar variable
 $BBg0hJQ?t(B
 .Ar variable
@@ -94,6 +98,7 @@
 $B%G%P%C%0%b!<%I$rM-8z$K$7!"(B
 .Nm
 $B$,I=<($9$k%G%P%C%0>pJs$N<oN`$r;XDj$7$^$9!#(B
+$B0z?t(B
 .Ar flags
 $B$K$O!"0J2<$N$&$A(B 1 $B$D0J>e$r;XDj$G$-$^$9!#(B
 .Bl -tag -width Ds
@@ -106,6 +111,9 @@
 $B>r7oI>2A$K4X$9$k>pJs$rI=<($7$^$9!#(B
 .It Ar d
 $B%G%#%l%/%H%j8!:w$H%-%c%C%7%e$K4X$9$k>pJs$rI=<($7$^$9!#(B
+.It Ar f
+for $B%k!<%W$N<B9T$K4X$9$k%G%P%C%0>pJs$rI=<($7$^$9!#(B
+$B:#$N$H$3$m$O2?$b$7$F$$$^$;$s!#(B
 .It Ar "g1"
 $B=hM}$r9T$&A0$K!"F~NO$N%0%i%U$rI=<($7$^$9!#(B
 .It Ar "g2"
@@ -134,7 +142,7 @@
 $B$N$+$o$j$K!"FI$_9~$`%U%!%$%k$r;XDj$7$^$9!#$b$7(B
 .Ar makefile
 $B$,(B
-.Ql Fl
+.Ql \-
 $B$J$iI8=`F~NO$+$iFI$_9~$_$^$9!#J#?t$N%U%!%$%k$,;XDj2DG=$G!"(B
 $B;XDj$7$?=g$KFI$_9~$^$l$^$9!#(B
 .It Fl I Ar directory
@@ -146,10 +154,10 @@
 .It Fl i
 makefile $B$+$i<B9T$5$l$?%7%'%k%3%^%s%I$,(B 0 $B$G$J$$=*N;%9%F!<%?%9$rJV$7(B
 $B$F$bL5;k$7$^$9!#(Bmakefile $BCf$G%3%^%s%I$N@hF,$K(B
-.Ql Fl
+.Ql \-
 $B$r;XDj$9$k$N$HF1$8$G$9!#(B
 .It Fl j Ar max_jobs
-.Nm make
+.Nm
 $B$,F1;~$K5/F0$G$-$k%8%g%V$N?t$r;XDj$7$^$9!#8_49@-%b!<%I$r%*%U$K$9$k$K$O!"(B
 .Ar B
 $B%U%i%0$b;XDj$7$F$/$@$5$$!#(B
@@ -160,18 +168,31 @@
 <...> $B7A<0$GFI$_9~$^$l$k(B sys.mk $B$d(B makefile $B$r8!:w$9$k$?$a$N(B
 $B%G%#%l%/%H%j$r;XDj$7$^$9!#J#?t$N%G%#%l%/%H%j$r8!:w%Q%9$K2C$($k$3$H$,(B
 $B$G$-$^$9!#$3$N%Q%9$O!"%G%U%)%k%H$N%7%9%F%`%$%s%/%k!<%I%Q%9(B 
-/usr/share/mk $B$r>e=q$-$7$^$9!#(B
+.Pa /usr/share/mk
+$B$r>e=q$-$7$^$9!#(B
 $B$5$i$K!"%7%9%F%`%$%s%/%k!<%I%Q%9$r(B "..." $B7A<0$N%$%s%/%k!<%I$K$h$C$F(B
 $BDI2C$9$k$3$H$,$G$-$^$9(B(
 .Fl I
 $B%*%W%7%g%s$r;2>H(B)$B!#(B
 .It Fl n
 make $B$,<B9T$9$k$G$"$m$&%3%^%s%IFbMF$NI=<($N$_$r9T$$!"<B9T$O$7$^$;$s!#(B
+.It Fl P
+$BJB9T$7$FF0:n$9$k%8%g%V$r0l=o$K:.$<$F=PNO$9$k$N$G$J$/!"(B
+$BM?$($i$l$?%8%g%V$N=gHV$r$=$m$($F!"%8%g%V$,=*N;$9$k$^$GI=<($7$^$;$s!#(B
+$B$3$N%*%W%7%g%s$O(B
+.Fl j
+$B$,;H$o$l$?;~$N$_8z2L$r;}$A$^$9!#(B
 .It Fl q
 $B$$$C$5$$$N%3%^%s%I$r<B9T$;$:!";XDj$5$l$?%?!<%2%C%H$,:G?7$N$b$N$G$"$l$P(B 0 
 $B$r!"$=$&$G$J$1$l$P(B 1 $B$r=*N;%9%F!<%?%9$H$7$FJV$7$^$9!#(B
 .It Fl r
 $B%7%9%F%`$N(B makefile $B$GDj5A$5$l$?AH$_9~$_$N%k!<%k$r;HMQ$7$^$;$s!#(B
+.It Fl S
+$B%(%i!<$,5/$-$?;~$K=hM}$rCf;_$7$^$9!#(B
+$B%G%U%)%k%H$NF0:n$G$9!#$3$N%*%W%7%g%s$O(B
+$B:F5"E*$J9=C[$N:]$K(B
+.Fl k
+$B%*%W%7%g%s$rBG$A>C$9$N$KI,MW$H$J$j$^$9!#(B
 .It Fl s
 $B<B9T$9$k%3%^%s%I$rI=<($7$^$;$s!#(Bmakefile $B$N$J$+$G!"%3%^%s%I$N@hF,$K(B
 .Ql Ic @
@@ -192,7 +213,7 @@
 .It Fl v
 $BFC$K>iD9I=<($5$;$^$9!#(B
 $BJ#?t%8%g%V$N(B make $B$K$*$$$F$O!"%U%!%$%k%P%J!<$r@8@.$5$;$^$9!#(B
-.It Ar variable=value
+.It Ar variable Ns No = Ns Ar value
 $BJQ?t(B
 .Ar variable
 $B$NCM$r(B
@@ -211,7 +232,9 @@
 .Sh $B%U%!%$%k0MB84X785-=R(B
 $BF~NO%U%!%$%k$K$*$1$k0MB84X785-=R9T$O!"(B1 $B$D0J>e$N%?!<%2%C%H!"%*%Z%l!<%?!"(B
 0 $B8D(B $B0J>e$N%=!<%9$+$i$J$j$^$9!#(B
-$B$3$l$O!"%?!<%2%C%H$,%=!<%9$K!V0MB8!W$7$F$$$k$H$$$&4X78$r(B
+$B$3$l$O!"%?!<%2%C%H$,%=!<%9$K(B
+.Dq $B0MB8(B
+$B$7$F$$$k$H$$$&4X78$r(B
 $BDj5A$7$F$*$j!"DL>o$O!"%=!<%9$+$i%?!<%2%C%H$,:n@.$5$l$^$9!#%?!<%2%C%H$H(B
 $B%=!<%9$H$N87L)$J4X78$O%*%Z%l!<%?$K$h$C$F!"N><T4V$K;XDj$7$^$9!#(B
 $B%*%Z%l!<%?$K$O0J2<$N<oN`$,$"$j$^$9!#(B
@@ -222,14 +245,14 @@
 $BH=CG$5$l$^$9!#(B
 $BJL$N9T$G$3$N%*%Z%l!<%?$K$h$kF1$8%?!<%2%C%H$K4X$9$k%=!<%9$N5-=R$,$"$l$P!"(B
 $B$=$l$i$O$9$Y$F(B 1 $B$D$K$^$H$a$i$l$^$9!#%?!<%2%C%H$N:n@.Cf$K(B
-.Nm make
+.Nm
 $B$,CfCG$5$l$k$H!"%?!<%2%C%H$O:o=|$5$l$^$9!#(B
 .It Ic \&!
 $B%?!<%2%C%H$O$D$M$K:n$jD>$5$l$^$9!#$?$@$7!":n$jD>$5$l$k$N$O!"(B
 $B$9$Y$F$N%=!<%9$,8!::$5$l!"I,MW$HH=CG$5$l$?%=!<%9$,:n$jD>$5$l$?$"$H$G$9!#(B
 $B$3$N%*%Z%l!<%?$K$h$kF1$8%?!<%2%C%H$K4X$9$k%=!<%9$N5-=R$,JL$N9T$K$b$"$l$P!"(B
 $B$=$l$i$O$9$Y$F(B 1 $B$D$K$^$H$a$i$l$^$9!#%?!<%2%C%H$N:n@.Cf$K(B
-.Nm make
+.Nm
 $B$,CfCG$5$l$k$H!"%?!<%2%C%H$O:o=|$5$l$^$9!#(B
 .It Ic \&::
 $B%=!<%9$,;XDj$5$l$F$$$J$+$C$?>l9g!"$D$M$K%?!<%2%C%H$O:n$jD>$5$l$^$9!#(B
@@ -237,11 +260,11 @@
 $B%?!<%2%C%H$O:n$jD>$5$l$^$9!#K\%*%Z%l!<%?$G$O!"JL$N9T$K$*$$$FF1$8(B
 $B%?!<%2%C%H$K4X$9$k%=!<%9$N5-=R$,$"$C$F$b(B 1 $B$D$K$^$H$a$^$;$s!#(B
 $B%?!<%2%C%H$N:n@.Cf$K(B
-.Nm make
+.Nm
 $B$,CfCG$5$l$F$b!"%?!<%2%C%H$O:o=|$5$l$^$;$s!#(B
 .El
 .Pp
-$B%?!<%2%C%H$H%=!<%9$O!"%7%'%k$N%o%$%k%I%+!<%I$H$7$F(B
+$B%?!<%2%C%H$H%=!<%9$O!"%7%'%k$N%o%$%k%I%+!<%II=5-$H$7$F(B
 .Ql ? ,
 .Ql * ,
 .Ql [] ,
@@ -250,8 +273,9 @@
 .Ql ? ,
 .Ql * ,
 .Ql []
-$B$O!"%?!<%2%C%H$^$?$O%=!<%9$N:G8e$NMWAG$H$7$F5-=R$G$-!"(B
+$B$NI=5-$O!"%?!<%2%C%H$^$?$O%=!<%9$N:G8e$NMWAG$H$7$F5-=R$G$-!"(B
 $BB8:_$9$k%U%!%$%k$r;XDj$9$k$b$N$G$J$1$l$P$J$j$^$;$s!#(B
+$BI=5-(B
 .Ql {}
 $B$O%U%!%$%k$,B8:_$7$J$/$F$b$+$^$$$^$;$s!#%7%'%k$N$h$&$K<-=q=g$KJB$Y$i$l$F(B
 $BE83+$5$l$k$3$H$O$J$/!"%U%!%$%k%7%9%F%`>e$KJB$s$G$$$k=gHV$N$^$^9T$o$l$^$9!#(B
@@ -330,15 +354,20 @@
 .Ql Va \&>
 $B$bF1$8$G$9!#(B
 .It Va .ARCHIVE
-$B%"!<%+%$%V%U%!%$%kL>(B
+$B%"!<%+%$%V%U%!%$%kL>!#(B
+.Ql Va \&!
+$B$bF1$8$G$9!#(B
 .It Va .IMPSRC
 $B%?!<%2%C%HL>$KJQ49$9$k$N$K;HMQ$9$k%=!<%9$N%U%!%$%kL>$^$?$O%Q%9L>(B
-.Pq $B!V0EL[$N!W%=!<%9(B
-$B!#(B
+(
+.Dq $B0EL[$N(B
+$B%=!<%9(B)$B!#(B
 .Ql Va \&<
 $B$bF1$8$G$9!#(B
 .It Va .MEMBER
-$B%"!<%+%$%V$N%a%s%P(B
+$B%"!<%+%$%V$N%a%s%P!#(B
+.Ql Va \&%
+$B$bF1$8$G$9!#(B
 .It Va .OODATE
 $B%?!<%2%C%H$h$j$b?7$7$$%=!<%9$N%j%9%H!#(B
 .Ql Va \&?
@@ -355,10 +384,13 @@
 .Pp
 $BC;$$7A<0(B
 .Ql Va @ ,
+.Ql Va ! ,
+.Ql Va \&< ,
+.Ql Va \&% ,
 .Ql Va ? ,
 .Ql Va \&> ,
 .Ql Va *
-$B$O8E$$(B makefile $B$G$N8_49@-$N$?$a$N$b$N$G$9$,!"MxMQ$9$k$3$H$O?d>)$G$-$^$;$s!#(B
+$B$O8_49@-$N$?$a$N$b$N$G$9$,!"MxMQ$9$k$3$H$O?d>)$G$-$^$;$s!#(B
 $B$^$?!"(B
 .Ql Va "@F" ,
 .Ql Va "@D" ,
@@ -379,10 +411,11 @@
 .Ql Va .ARCHIVE ,
 .Ql Va .MEMBER
 $B$G$9!#(B
+.El
 .Pp
 $B$5$i$K!"(B
-.Nm make
-$B$G$O0J2<$NJQ?t$rMxMQ$9$k$3$H$,$G$-$^$9!#(B
+.Nm
+$B$G$O0J2<$NFbItJQ?t$^$?$O4D6-JQ?t$rMxMQ$9$k$3$H$,$G$-$^$9!#(B
 .Bl -tag -width MAKEFLAGS
 .It Va \&$
 $BC10l$N%I%k5-9f(B
@@ -391,27 +424,73 @@
 .Ql \&$$
 $B$OC10l$N%I%k5-9f$KCV49$5$l$^$9!#(B
 .It Va .MAKE
-.Nm make
+.Nm
 $B$N5/F0$K;HMQ$5$l$?L>A0(B
-.Pq Va argv Op 0
+.Pq Va argv Ns Op 0
 $B!#(B
 .It Va .CURDIR
-.Nm make
+.Nm
 $B$,<B9T$5$l$?%G%#%l%/%H%j!#(B
 .It Va .OBJDIR
 $B%?!<%2%C%H$r:n@.$9$k%G%#%l%/%H%j$X$N%Q%9!#(B
-.It Ev MAKEFLAGS
+$B5/F0;~$K!"(B
+.Nm
+$B$O%?!<%2%C%H%U%!%$%k$rCV$/Be$o$j$N%G%#%l%/%H%j$r8!:w$7$^$9!#(B
+.Nm
+$B$O$3$NFCJL$J%G%#%l%/%H%j$K0\F0$9$k$3$H$r;n$_!"(B
+makefile $B$,%+%l%s%H%G%#%l%/%H%j$K$J$+$C$?>l9g$K$O$3$N%G%#%l%/%H%j$G(B
+$B8!:w$5$l$^$9!#(B
+$B0J2<$N=gHV$G%G%#%l%/%H%j$O;n$5$l$^$9(B:
+.Pp
+.Bl -enum -compact
+.It
+${MAKEOBJDIRPREFIX}/`cwd`
+.It
+${MAKEOBJDIR}
+.It
+obj.${MACHINE}
+.It
+obj
+.It
+/usr/obj/`cwd`
+.El
+.Pp
+$B:G=i$K(B
+.Nm
+$B$,0\F0$K@.8y$7$?%G%#%l%/%H%j$,;H$o$l$^$9!#(B
+$B$b$7(B
+.Ev MAKEOBJDIRPREFIX
+$B$^$?$O(B
+.Ev MAKEOBJDIR
+$B$N$I$A$i$+$,$,Dj5A$5$l$F$$$F(B
+.Nm
+$B$,BP1~$9$k%G%#%l%/%H%j$K0\F0$G$-$J$+$C$?>l9g$O!"(B
+$B%j%9%H$N;D$j$r%A%'%C%/$9$k$3$H$J$7$K%+%l%s%H%G%#%l%/%H%j$,;H$o$l$^$9!#(B
+$B$=$l$i$,Dj5A$5$l$F$*$i$:(B
+.Nm
+$B$,;D$C$?(B 3 $B$D$N%G%#%l%/%H%j$N$$$:$l$K$b0\F0$G$-$J$+$C$?>l9g!"(B
+$B%+%l%s%H%G%#%l%/%H%j$,;H$o$l$^$9!#(B
+.It Va .MAKEFLAGS
 $B4D6-JQ?t(B
-.Ql Ev MAKEFLAGS
+.Ev MAKEFLAGS
 $B$O!"(B
 .Nm make
 $B$N%3%^%s%I%i%$%s$K$F;XDj$5$l$k$"$i$f$k$b$N$r4^$_$^$9!#(B
+$B$=$NCf?H$O(B
+.Va MAKEFLAGS
+$BJQ?t$K5-21$5$l$^$9!#(B
 .Nm make
 $B$N%3%^%s%I%i%$%s$K$F;XDj$5$l$k$"$i$f$k$b$N$O(B
-.Ql Ev MAKEFLAGS
+.Va MAKEFLAGS
 $BJQ?t$KDI2C$5$l!"(B
 .Nm make
-$B$,<B9T$9$kA4%W%m%0%i%`$N4D6-$K$3$NJQ?t$,AH$_9~$^$l$^$9!#(B
+$B$,<B9T$9$kA4%W%m%0%i%`$N4D6-$K$3$NJQ?t$,(B
+.Ev MAKEFLAGS
+$B$H$7$FAH$_9~$^$l$^$9!#(B
+.It Va MFLAGS
+$B2<0L8_49@-$N$?$a$K(B
+.Va .MAKEFLAGS
+$B$NF10U8l$H$7$FDs6!$5$l$^$9!#(B
 .It Ev PWD
 $B8=:_$N%G%#%l%/%H%j$X$NJL$N%Q%9!#(B
 WANT_ENV_PWD $B$,Dj5A$5$l$F9=C[$5$l$?>l9g$K%5%]!<%H$5$l$^$9!#(B
@@ -421,26 +500,56 @@
 $B$r(B
 .Xr getcwd 3
 $B$GF@$i$l$?@5<0$J%Q%9$K@_Dj$7$^$9!#$7$+$7$J$,$i!"4D6-JQ?t(B
-.Ql Ev PWD
+.Ev PWD
 $B$,@_Dj$5$l$F$*$j!"M?$($i$l$?%Q%9$,%+%l%s%H%G%#%l%/%H%j$N;~!"(B
-.Nm make
+.Nm
 $B$O!"(B
 .Ql Va .CURDIR
 $B$r(B
-.Ql Ev PWD
+.Ev PWD
 $B$NCM$K@_Dj$7$^$9!#(B
-.Nm make
+.Nm
 $B$,<B9T$7$F$$$kA4$F$N%W%m%0%i%`$KBP$7$F$O!"(B
-.Ql Ev PWD
+.Ev PWD
 $B$K(B
 .Ql Va .OBJDIR
-$B$NCM$r@_Dj$7$^$9!#(B
+$B$NCM$r>o$K@_Dj$7$^$9!#(B
+.It Va .TARGETS
+.Nm
+$B$,8=:_9=C[$7$F$$$k%?!<%2%C%H$N%j%9%H!#(B
+.It Va .INCLUDES
+.Ic .INCLUDES
+$BFC<l%?!<%2%C%H;2>H!#(B
+.It Va .LIBS
+.Ic .LIBS
+$BFC<l%?!<%2%C%H;2>H!#(B
+.It Va MACHINE
+.Ev MACHINE
+$B4D6-JQ?t!"$^$?$ODj5A$5$l$F$$$J$$>l9g$O(B
+.Xr uname 2
+$B$K$h$C$FF@$i$l$k!"(B
+.Nm
+$B$,F0:n$7$F$$$k%^%7%s%"!<%-%F%/%A%c$NL>>N!#(B
+.It Va MACHINE_ARCH
+.Nm
+$B$N%3%s%Q%$%k;~$KDj5A$5$l$?(B
+.Nm
+$B$,$I$N%^%7%s%"!<%-%F%/%A%c8~$1$K%3%s%Q%$%k$5$l$?$+$r<($9L>>N!#(B
+.It Va VPATH
+Makefile $B$O%3%m%s$G6h@Z$i$l$?%G%#%l%/%H%j$N%j%9%H$r(B
+.Va VPATH
+$B$K@_Dj$9$k$3$H$,$G$-$^$9!#(B
+.Nm
+$B$,A4$F$NF~NO(B makefile $B$N2r@O$r=*N;$7$?8e!"(B
+.Nm
+$B$O$3$N%G%#%l%/%H%j$G%=!<%9%U%!%$%k$r8!:w$7$^$9!#(B
 .El
 .Pp
 $BJQ?tE83+$K$*$$$F!"$=$NJQ?tFb$NC18l$rA*Br$7$?$j!"JQ99$7$?$j$9$k$3$H$,(B
-$B$G$-$^$9(B
-.Pq $BC18l$H$O6uGr$G6h@Z$i$l$?J8;zNs$G$9(B
-$B!#JQ?tE83+$N0lHL7A$O!"<!$N$H$*$j$G$9!#(B
+$B$G$-$^$9(B (
+.Dq $BC18l(B
+$B$H$O6uGr$G6h@Z$i$l$?J8;zNs$G$9(B)$B!#(B
+$BJQ?tE83+$N0lHL7A$O!"<!$N$H$*$j$G$9!#(B
 .Pp
 .Dl {variable[:modifier[:...]]}
 .Pp
@@ -466,7 +575,7 @@
 $B$K$h$j%(%9%1!<%W$G$-$^$9!#(B
 .It Cm N Ns Ar pattern
 pattern $B$K%^%C%A$7$J$$C18l$rA*Br$7$^$9!#$=$l0J30$O(B
-.Ql Cm M
+.Cm M
 $B$HF1MM$G$9!#(B
 .It Cm Q
 $BJQ?tCf$N$9$Y$F$N%7%'%k%a%?J8;z$r%/%)!<%H$7!":F5"5/F0$5$l$k(B
@@ -475,37 +584,39 @@
 .It Cm R
 $BJQ?tCf$N3FC18l$+$i3HD%;R$r<h$j=|$-$^$9!#(B
 .Sm off
-.It Cm S No \&/ Ar old_pattern Xo
-.No \&/ Ar new_pattern
+.It Cm S No \&/ Ar old_string Xo
+.No \&/ Ar new_string
 .No \&/ Op Cm g
 .Xc
 .Sm on
-$B3FC18lCf$N:G=i$N(B
-.Ar old_pattern
+$BJQ?t$NCM$G3FC18lCf$N:G=i$N(B
+.Ar old_string
 $B$r(B
-.Ar new_pattern
+.Ar new_string
 $B$KCV49$7$^$9!#$b$7!":G8e$N%9%i%C%7%e$N$"$H$K(B
 .Ql g
 $B$,;XDj$5$l$F$$$l$P!"3FC18lCf$K=P8=$7$?$9$Y$F$N(B 
-.Ar old_pattern
+.Ar old_string
 $B$,(B
-.Ar new_pattern
+.Ar new_string
 $B$KCV49$5$l$^$9!#(B
-.Ar old_pattern
+.Ar old_string
 $B$,%-%c%l%C%H(B
 .Pq Ql ^
-$B$G;O$^$C$F$$$k$J$i!"$=$N%Q%?%s$r3FC18l$N@hF,$+$i%^%C%A$5$;$k$3$H$r(B
+$B$G;O$^$C$F$$$k$J$i!"(B
+.Ar old_string
+$B$r3FC18l$N@hF,$+$i%^%C%A$5$;$k$3$H$r(B
 $B0UL#$7$^$9!#(B
-.Ar old_pattern
+.Ar old_string
 $B$,%I%k5-9f(B
-.Pq Ql $
-$B$G=*$o$C$F$$$k$J$i!"$=$N%Q%?%s$r3FC18l$N=*C<$K%^%C%A$5$;$k$3$H$r(B
+.Pq Ql \&$
+$B$G=*$o$C$F$$$k$J$i!"$=$NJ8;zNs$r3FC18l$N=*C<$K%^%C%A$5$;$k$3$H$r(B
 $B0UL#$7$^$9!#(B
 .Ar new_string
 $BCf$N%"%s%Q%5%s%I(B
 .Pq Ql &
 $B$O(B
-.Ar old_pattern
+.Ar old_string
 $B$KCV49$5$l$^$9!#=$>~J8;zNs$N6h@Z$j$K$O$I$s$JJ8;z$r;H$C$F$b$+$^$$$^$;$s!#(B
 .Ql ^
 ,
@@ -679,7 +790,7 @@
 .El
 .Pp
 C $B8@8l$HF1MM!"(B
-.Nm make
+.Nm
 $B$O>r7o<0$r!"<0$NCM$r7hDj$9$k$N$KI,MW$J$H$3$m$^$G$7$+I>2A$7$^$;$s!#(B
 $BI>2A=g=x$rJQ99$9$k$K$O3g8L$r;H$$$^$9!#O@M}%*%Z%l!<%?(B
 .Ql Ic \&!
@@ -770,9 +881,9 @@
 .Ic \&.endfor
 .Xc
 .El
-.Ic expression
+.Ar expression
 $B$OI>2A$5$l$?$"$H$KC18l$KJ,2r$5$l!"$=$l$>$l$r(B
-.Ic variable
+.Ar variable
 $B$KBeF~(B
 $B$7$J$,$i!"(B
 .Ic make-rules
@@ -799,7 +910,7 @@
 $B$N$?$a$KMQ$$$i$l$^$9!#(B
 .It Ic .NOTMAIN
 $BDL>o(B
-.Nm make
+.Nm
 $B$O!":G=i$KH/8+$7$?%?!<%2%C%H$r%G%U%)%k%H$N%?!<%2%C%H$H$_$J$7$^$9!#(B
 .Ic .NOTMAIN
 $B$,;XDj$5$l$?%?!<%2%C%H$O%G%U%)%k%H$N%?!<%2%C%H$H$O$_$J$5$l$J$/$J$j$^$9!#(B
@@ -810,7 +921,7 @@
 $B$=$N%?!<%2%C%H$OI,MW$J$$$+!"$9$G$KB8:_$7$F$$$k$b$N$H$_$J$7$^$9!#(B
 .It Ic .PRECIOUS
 $BDL>o(B
-.Nm make
+.Nm
 $B$,CfCG$5$l$?$H$-$O!":n@.ESCf$N%?!<%2%C%H$O:o=|$5$l$^$9!#K\%=!<%9$r(B
 $B;XDj$9$k$3$H$G!"$=$N%?!<%2%C%H$r:o=|$7$J$/$J$j$^$9!#(B
 .It Ic .SILENT
@@ -859,16 +970,39 @@
 $BB0@-$rIUM?$7$^$9!#$b$7%=!<%9$,;XDj$5$l$F$$$J$1$l$P!"(B
 .Fl i
 $B%*%W%7%g%s$r;XDj$7$?$N$HF1$80UL#$K$J$j$^$9!#(B
+.It Ic .INCLUDES
+$B%=!<%9%U%!%$%kCf$G(B include $B$5$l$k2DG=@-$N$"$k%U%!%$%k$N3HD%;R$N%j%9%H!#(B
+$B3HD%;R$O$"$i$+$8$a(B
+.Ic .SUFFIXES
+$B$G@k8@$5$l$F$$$J$1$l$P$J$j$^$;$s(B;
+$B$3$N$h$&$K@k8@$5$l$?3HD%;R$O<+?H$N8!:w%Q%9(B(
+.Ic .PATH
+$B;2>H(B)
+$B$K$=$l$>$l(B
+.Fl I
+$B%U%i%0$rA0$KIU$1$?>uBV$G(B
+.Va .INCLUDES
+$BFC<lJQ?t$K@_Dj$5$l$^$9!#(B
 .It Ic .INTERRUPT
-.Nm make
+.Nm
 $B$,CfCG$5$l$?$H$-!"K\%?!<%2%C%H$K;XDj$5$l$?%3%^%s%I$r<B9T$7$^$9!#(B
+.It Ic .LIBS
+.Ic .INCLUDES
+$B$,(B include $B%U%!%$%k$KBP$7$F9T$J$&$3$H$HF1$8$3$H$r(B
+$B%i%$%V%i%j$KBP$7$F9T$J$$$^$9!#$?$@$7(B
+.Fl L
+$B%U%i%0$,;H$o$l$^$9!#(B
 .It Ic .MAIN
 $B%?!<%2%C%H$r;XDj$;$:$K(B
-.Nm make
+.Nm
 $B$,5/F0$5$l$?>l9g!"K\%?!<%2%C%H$r=hM}$7$^$9!#(B
+.Nm
+$B$,%G%U%)%k%H%?!<%2%C%H$rA*Br$7$?:]$K!"(B
+$BMxMQ<T$,%3%^%s%I%i%$%s$+$i%G%U%)%k%H%?!<%2%C%H$r;X<($G$-$k$h$&$K$9$k$?$a!"(B
+$BL@<(E*!&0EL[E*$K4X$o$i$:I,$:@_Dj$5$l$^$9!#(B
 .It Ic .MAKEFLAGS
 $B%=!<%9$K$*$$$F!"(B
-.Nm make
+.Nm
 $B$K;XDj$9$k%U%i%0$r;XDj$7$^$9!#%U%i%0$O%7%'%k$G%?%$%W$7$?$N$HF1MM$K(B
 $BEO$5$l$^$9$,!"(B
 .Fl f
@@ -893,11 +1027,22 @@
 $B%+%l%s%H%G%#%l%/%H%j$KH/8+$G$-$J$+$C$?$H$-$N%U%!%$%k$N8!:w%Q%9$r!"(B
 $BK\%?!<%2%C%H$N%=!<%9$H$7$F;XDj$7$^$9!#%=!<%9$,;XDj$5$l$J$+$C$?>l9g!"(B
 $B0JA0$K@_Dj$5$l$F$$$?%G%#%l%/%H%j$,L58z$K$J$j$^$9!#(B
-.Pp
-.Ql Ev VPATH
-$B$r;HMQ$7$F!"%G%#%l%/%H%j$r8!:w%Q%9$K2C$($k$3$H$O!"(B
-$B8eJ}8_49@-$N$?$a$@$1$K5v$5$l$F$$$^$9!#(B
-$B?7$7$$(B Makefile $B$G$O;HMQ$7$J$$$3$H$r4+$a$^$9!#(B
+$B2DG=$G$"$l$P(B
+.Ic .PATH
+$B$rMxMQ$9$kJ}$,!"(B
+.Va VPATH
+$BJQ?t$rMxMQ$9$k$h$j$b9%$^$l$F$$$^$9!#(B
+.It Ic .PATH\fIsuffix\fR
+$B%+%l%s%H%G%#%l%/%H%j$KH/8+$G$-$J$+$C$?$H$-$N(B
+suffix $B$N$D$$$?%U%!%$%k$N8!:w%Q%9$r%=!<%9$H$7$F;XDj$7$^$9!#(B
+.Nm
+$B$O%U%!%$%k$,8+$D$+$i$J$+$C$?>l9g$K!"(B
+$B%G%U%)%k%H%Q%9$h$j$b@h$K!"$^$:(B suffix $B$NIU$$$?8!:w%Q%9$GC5$7$^$9!#(B
+$B$3$N7A<0$O(B
+.Ic .LIBS
+$B$H(B
+.Ic .INCLUDES
+$B$,F0:n$9$k$?$a$KI,MW$G$9!#(B
 .It Ic .PHONY
 .Ic .PHONY
 $BB0@-$r;XDj$7$?%=!<%9$KE,MQ$7$^$9!#$3$NB0@-$r;}$C$?%?!<%2%C%H$O(B
@@ -921,32 +1066,25 @@
 .Nm make
 $B$GMQ$$$k3HD%;R$r;XDj$7$^$9!#%=!<%9$,;XDj$5$l$J$+$C$?>l9g$O!"(B
 $B0JA0$N;XDj$,L58z$K$J$j$^$9!#(B
-.Sh $B8!:w%Q%9(B
-.Nm make
-$B$O<!$N%G%#%l%/%H%j$+$i=gHV$K(B
-.Ql Pa Makefile
-$B$rC5$7$^$9(B:
-.Pp
-.Bl -enum -compact
-.It
-${MAKEOBJDIRPREFIX}`cwd`
-.It
-${MAKEOBJDIR}
-.It
-obj.${MACHINE}
-.It
-obj 
-.It
-/usr/obj${MACHINE}`cwd`
-.It
-$B%+%l%s%H%G%#%l%/%H%j(B (`cwd`)
-.El
+.Sh $B8_49@-(B
+
+.Nm
+$B$N8E$$%P!<%8%g%s$O(B
+.Ev MAKEFLAGS
+$B$NBe$o$j$K(B
+.Ev MAKE
+$B$r;H$C$F$$$^$7$?!#(B
+$B$3$N5!G=$O(B POSIX $B$X$N8_49@-$N$?$a$K:o=|$5$l$^$7$?!#(B
+$BFbItJQ?t(B
+.Va MAKE
+$B$O(B
+.Va .MAKE
+$B$HF1$8CM$,BeF~$5$l$^$9(B ;
+$B$3$N5!G=$O>-Mh:o=|$5$l$k$+$b$7$l$^$;$s!#(B
 .Pp
-.Nm make
-$B$,(B
-.Ql Pa Makefile
-$B$r8=:_$N:n6H%G%#%l%/%H%j0J30$G8+IU$1$?>l9g!"(B
-CWD $B$r8!:w%Q%9$KDI2C$7$^$9!#(B
+.Nm
+$B$N$?$/$5$s$NHkL)$K$5$l$$$F$$$k5!G=$NB?$/$O!"(B
+$B$h$jB?$/$N8_49@-$rJ]$D$?$a$K;HMQ$rHr$1$k$Y$-$G$9!#(B
 .Sh $B4D6-JQ?t(B
 .Nm make
 $B$O<!$N4D6-JQ?t$NCM$rMQ$$$^$9(B:
@@ -958,23 +1096,62 @@
 .Ev PWD 
 .Sh $B4XO"%U%!%$%k(B
 .Bl -tag -width /usr/share/doc/psd/12.make -compact
-.It .depend
+.It Pa .depend
 $B0MB84X78%j%9%H(B
-.It Makefile
+.It Pa Makefile
 $B0MB84X78%j%9%H(B
-.It makefile
+.It Pa makefile
 $B0MB84X78%j%9%H(B
 .It obj
 $B%*%V%8%'%/%H%G%#%l%/%H%j(B
-.It sys.mk
+.It Pa sys.mk
 $B%7%9%F%`Dj5A$N(B makefile
-.It /usr/share/mk
+.It Pa /usr/share/mk
 $B%7%9%F%`Dj5A$N(B makefile $B$,CV$+$l$k%G%#%l%/%H%j(B
 .It /usr/share/doc/psd/12.make
 PMake $B$N%A%e!<%H%j%"%k(B
-.It /usr/obj
-$B%7%9%F%`$N%*%V%8%'%/%H%G%#%l%/%H%j$N%W%l%U%#%C%/%9(B
+.It Pa /usr/obj
+$B%G%U%)%k%H$N(B
+.Ev MAKEOBJDIRPREFIX
+$B%G%#%l%/%H%j(B
 .El
+.Sh $B%P%0(B
+.Va .OBJDIR
+$B$N7hDj$OIT>rM}$H$$$C$F$$$$$[$I$^$G6J2r$5$l$^$9!#(B
+.Pp
+
+$BJ#?t$N(B
+.Ic .MAIN
+$BFC<l%?!<%2%C%H$,B8:_$7$?>l9g!"(B
+.Nm
+$B$O:G=i$N$b$N0J30$OL[$C$FL5;k$7$^$9!#(B
+.Pp
+.Nm
+$B$,%?!<%2%C%HL>$J$7$K5/F0$5$l$?>l9g$H(B
+.Ic .MAIN
+$BFC<l%?!<%2%C%H$,B8:_$7$J$+$C$?>l9g!"(B
+.Va .TARGETS
+$B$O@_Dj$5$l$^$;$s!#(B
+.Pp
+$B%F%9%H;~$N(B
+.Ar expression
+$B$NI>2A$O$"$^$j5$$,G[$i$l$F$$$^$;$s!#:#$N$H$3$m!"(B
+.Ql .if ${VAR} op something
+$B$H$$$&7A<0$G$7$+F0$-$^$;$s!#(B
+$BNc$($P!"%F%9%H$O(B
+.Ql .if ${VAR} = "string"
+$B$N$h$&$K=q$+$J$1$l$P$J$j$^$;$s!#(B
+$BB>$N=q$-J}$G$OF0$-$^$;$s!#(B
+.Pp
+for $B%k!<%W$O%F%9%H$5$l$kA0$KE83+$5$l$k$?$a!"(B
+.Bd -literal
+\&.for TMACHINE in ${SHARED_ARCHS}
+\&.if ${TMACHINE} = ${MACHINE}
+     ...
+\&.endif
+\&.endfor
+.Ed
+$B$N$h$&$JCGJR$OF0$-$^$;$s!#B>$NJ}K!$r;H$C$F=q$-D>$9I,MW$,$"$j$^$9!#(B
 .Sh $B4XO"9`L\(B
 .Xr mkdep 1
 .Rs

--- 3.4/make.1	Mon Dec 20 14:51:32 1999
+++ 4.0/make.1	Wed Jan  5 22:59:43 2000
@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	from: @(#)make.1	8.4 (Berkeley) 3/19/94
-.\" $FreeBSD: src/usr.bin/make/make.1,v 1.16.2.5 1999/12/05 12:36:19 cracauer Exp $
+.\" $FreeBSD: src/usr.bin/make/make.1,v 1.26 1999/12/05 12:23:03 cracauer Exp $
 .\"
 .Dd March 19, 1994
 .Dt MAKE 1
@@ -40,7 +40,7 @@
 .Nd maintain program dependencies
 .Sh SYNOPSIS
 .Nm make
-.Op Fl Beiknqrstv
+.Op Fl BPSeiknqrstv
 .Op Fl D Ar variable
 .Op Fl d Ar flags
 .Op Fl E Ar variable
@@ -51,29 +51,30 @@
 .Op Fl m Ar directory
 .Ek
 .Op Fl V Ar variable
-.Op Ar variable=value
+.Op Ar variable Ns No = Ns Ar value
 .Op Ar target ...
 .Sh DESCRIPTION
 .Nm Make
 is a program designed to simplify the maintenance of other programs.
-Its input is a list of specifications as to the files upon which programs
-and other files depend.
-.Nm Make
-searches a built-in path for this list.
-If the file
+Its input is a list of specifications 
+describing dependency relationships between the generation of
+files and programs.
+The first of
 .Ql Pa makefile
-exists along this path, it is read for this list of specifications.
-If it does not exist, the file
+and
 .Ql Pa Makefile
-is used.
+that can be found in either the current directory or a special object directory
+(see
+.Ql Va .OBJDIR )
+will be read for this list of specifications.
 If the file
 .Ql Pa .depend
-exists, it is also read (see
+can be found, it is also read (see
 .Xr mkdep 1) .
 .Pp
 This manual page is intended as a reference document only.
-For a more thorough description of
-.Nm make
+For a more thorough introduction to
+.Nm
 and makefiles, please refer to
 .%T "Make \- A Tutorial" .
 .Pp
@@ -82,15 +83,19 @@
 .It Fl B
 Try to be backwards compatible by executing a single shell per command and
 by executing the commands to make the sources of a dependency line in sequence.
+This is turned on by default unless
+.Fl j
+is used.
 .It Fl D Ar variable
 Define
 .Ar variable
 to be 1, in the global context.
 .It Fl d Ar flags
 Turn on debugging, and specify which portions of
-.Nm make
+.Nm
 are to print debugging information.
-.Ar Flags
+Argument
+.Ar flags
 is one or more of the following:
 .Bl -tag -width Ds
 .It Ar A
@@ -102,6 +107,9 @@
 Print debugging information about conditional evaluation.
 .It Ar d
 Print debugging information about directory searching and caching.
+.It Ar f
+Print debugging information about the execution of for loops. Currently a
+no-op.
 .It Ar "g1"
 Print the input graph before making anything.
 .It Ar "g2"
@@ -133,9 +141,9 @@
 If
 .Ar makefile
 is
-.Ql Fl ,
+.Ql \- ,
 standard input is read.
-Multiple makefile's may be specified, and are read in the order specified.
+Multiple makefiles may be specified, and are read in the order specified.
 .It Fl I Ar directory
 Specify a directory in which to search for makefiles and included makefiles.
 The system makefile directory (or directories, see the
@@ -144,11 +152,11 @@
 .It Fl i
 Ignore non-zero exit of shell commands in the makefile.
 Equivalent to specifying
-.Ql Fl
+.Ql \-
 before each command line in the makefile.
 .It Fl j Ar max_jobs
 Specify the maximum number of jobs that
-.Nm make
+.Nm
 may have running at any one time. Turns compatibility mode off, unless the
 .Ar B
 flag is also specified.
@@ -158,19 +166,31 @@
 .It Fl m Ar directory
 Specify a directory in which to search for sys.mk and makefiles included
 via the <...> style.  Multiple directories can be added to form a search path.
-This path will override the default system include path: /usr/share/mk.
-Furthermore the system include path will be appended to the search path used
+This path will override the default system include path:
+.Pa /usr/share/mk .
+Furthermore, the system include path will be appended to the search path used
 for "..."-style inclusions (see the
 .Fl I
 option).
 .It Fl n
 Display the commands that would have been executed, but do not actually
 execute them.
+.It Fl P
+Collate the output of a given job and display it only when the job finishes,
+instead of mixing the output of parallel jobs together.
+This option has no effect unless
+.Fl j
+is used too.
 .It Fl q
 Do not execute any commands, but exit 0 if the specified targets are
 up-to-date and 1, otherwise.
 .It Fl r
 Do not use the built-in rules specified in the system makefile.
+.It Fl S
+Stop processing when an error is encountered.
+Default behaviour.  This is needed to negate the
+.Fl k
+option during recursive builds.
 .It Fl s
 Do not echo any commands as they are executed.
 Equivalent to specifying
@@ -192,7 +212,7 @@
 .It Fl v
 Be extra verbose.
 For multi-job makes, this will cause file banners to be generated.
-.It Ar variable=value
+.It Ar variable Ns No = Ns Ar value
 Set the value of the variable
 .Ar variable
 to
@@ -211,7 +231,9 @@
 .Sh FILE DEPENDENCY SPECIFICATIONS
 Dependency lines consist of one or more targets, an operator, and zero
 or more sources.
-This creates a relationship where the targets ``depend'' on the sources
+This creates a relationship where the targets
+.Dq depend
+on the sources
 and are usually created from them.
 The exact relationship between the target and the source is determined
 by the operator that separates them.
@@ -223,7 +245,7 @@
 Sources for a target accumulate over dependency lines when this operator
 is used.
 The target is removed if
-.Nm make
+.Nm
 is interrupted.
 .It Ic \&!
 Targets are always re-created, but not until all sources have been
@@ -231,7 +253,7 @@
 Sources for a target accumulate over dependency lines when this operator
 is used.
 The target is removed if
-.Nm make
+.Nm
 is interrupted.
 .It Ic \&::
 If no sources are specified, the target is always re-created.
@@ -240,17 +262,17 @@
 Sources for a target do not accumulate over dependency lines when this
 operator is used.
 The target will not be removed if
-.Nm make
+.Nm
 is interrupted.
 .El
 .Pp
-Targets and sources may contain the shell wildcard values
+Targets and sources may contain the shell wildcard expressions
 .Ql ? ,
 .Ql * ,
 .Ql []
 and
 .Ql {} .
-The values
+The expressions
 .Ql ? ,
 .Ql *
 and
@@ -258,7 +280,7 @@
 may only be used as part of the final
 component of the target or source, and must be used to describe existing
 files.
-The value
+The expression
 .Ql {}
 need not necessarily be used to describe existing files.
 Expansion is in directory order, not alphabetically as done in the shell.
@@ -285,7 +307,9 @@
 .Ql Ic \-
 causes any non-zero exit status of the command line to be ignored.
 .Sh VARIABLE ASSIGNMENTS
-Variables in make are much like variables in the shell, and, by tradition,
+Variables in
+.Nm
+are much like variables in the shell, and, by tradition,
 consist of all upper-case letters.
 The five operators that can be used to assign values to variables are as
 follows:
@@ -307,7 +331,7 @@
 Any newlines in the result are replaced with spaces.
 .El
 .Pp
-Any white-space before the assigned
+Any whitespace before the assigned
 .Ar value
 is removed; if the value is being appended, a single space is inserted
 between the previous contents of the variable and the appended value.
@@ -349,13 +373,17 @@
 The list of all sources for this target; also known as
 .Ql Va \&> .
 .It Va .ARCHIVE
-The name of the archive file.
+The name of the archive file; also known as
+.Ql Va \&! .
 .It Va .IMPSRC
 The name/path of the source from which the target is to be transformed
-(the ``implied'' source); also known as
+(the
+.Dq implied
+source); also known as
 .Ql Va \&< .
 .It Va .MEMBER
-The name of the archive member.
+The name of the archive member; also known as
+.Ql Va \&% .
 .It Va .OODATE
 The list of sources for this target that were deemed out-of-date; also
 known as
@@ -371,18 +399,21 @@
 .Pp
 The shorter forms
 .Ql Va @ ,
+.Ql Va ! ,
+.Ql Va \&< ,
+.Ql Va \&% ,
 .Ql Va ? ,
-.Ql Va \&>
+.Ql Va \&> ,
 and
 .Ql Va *
 are permitted for backward
-compatibility with historical makefiles and are not recommended.
+compatibility and are not recommended.
 The six variables
 .Ql Va "@F" ,
 .Ql Va "@D" ,
 .Ql Va "<F" ,
 .Ql Va "<D" ,
-.Ql Va "*F"
+.Ql Va "*F" ,
 and
 .Ql Va "*D"
 are
@@ -398,10 +429,12 @@
 .Ql Va .ARCHIVE ,
 and
 .Ql Va .MEMBER .
+.El
 .Pp
 In addition,
-.Nm make
-sets or knows about the following variables:
+.Nm
+sets or knows about the following internal variables or environment
+variables:
 .Bl -tag -width MAKEFLAGS
 .It Va \&$
 A single dollar sign
@@ -412,57 +445,137 @@
 sign.
 .It Va .MAKE
 The name that
-.Nm make
+.Nm
 was executed with
-.Pq Va argv Op 0
+.Pq Va argv Ns Op 0 .
 .It Va .CURDIR
 A path to the directory where
-.Nm make
+.Nm
 was executed.
 .It Va .OBJDIR
 A path to the directory where the targets are built.
-.It Ev MAKEFLAGS
+At startup,
+.Nm
+searches for an alternate directory to place target files.
+It will attempt to change into this special directory
+and will search this directory for makefiles
+not found in the current directory.
+The following directories are tried in order:
+.Pp
+.Bl -enum -compact
+.It
+${MAKEOBJDIRPREFIX}/`cwd`
+.It
+${MAKEOBJDIR}
+.It
+obj.${MACHINE}
+.It
+obj
+.It
+/usr/obj/`cwd`
+.El
+.Pp
+The first directory that
+.Nm
+successfully changes into is used.
+If either
+.Ev MAKEOBJDIRPREFIX
+or
+.Ev MAKEOBJDIR
+is defined but
+.Nm
+is unable to change into the corresponding directory,
+then the current directory is used
+without checking the remainder of the list.
+If they are undefined and
+.Nm
+is unable to change into any of the remaining three directories,
+then the current directory is used.
+.It Va .MAKEFLAGS
 The environment variable
-.Ql Ev MAKEFLAGS
+.Ev MAKEFLAGS
 may contain anything that
 may be specified on
 .Nm make Ns 's
-command line.
+command line. Its contents are stored in
+.Nm make Ns 's
+.Va .MAKEFLAGS
+variable.
 Anything specified on
 .Nm make Ns 's
 command line is appended to the
-.Ql Ev MAKEFLAGS
+.Va .MAKEFLAGS
 variable which is then
-entered into the environment for all programs which
-.Nm make
+entered into the environment as
+.Ev MAKEFLAGS
+for all programs which
+.Nm
 executes.
+.It Va MFLAGS
+A synonym for
+.Va .MAKEFLAGS
+provided for backward compatibility.
 .It Ev PWD
-Alternate path to the current directory.  Supported if built with WANT_ENV_PWD
-defined.
-.Nm make
+Alternate path to the current directory.
+Supported if built with WANT_ENV_PWD defined.
+.Nm
 normally sets
 .Ql Va .CURDIR
 to the canonical path given by
 .Xr getcwd 3 .
 However, if the environment variable
-.Ql Ev PWD
+.Ev PWD
 is set and gives a path to the current directory, then
-.Nm make
+.Nm
 sets
 .Ql Va .CURDIR
 to the value of
-.Ql Ev PWD
+.Ev PWD
 instead.
-.Ql Ev PWD
-is set to the value of
+.Ev PWD
+is always set to the value of
 .Ql Va .OBJDIR
 for all programs which
-.Nm make
+.Nm
 executes.
+.It Va .TARGETS
+List of targets
+.Nm
+is currently building.
+.It Va .INCLUDES
+See
+.Ic .INCLUDES
+special target.
+.It Va .LIBS
+See
+.Ic .LIBS
+special target.
+.It Va MACHINE
+Name of the machine architecture
+.Nm
+is running on, obtained from the
+.Ev MACHINE
+environment variable, or through
+.Xr uname 2
+if not defined.
+.It Va MACHINE_ARCH
+Name of the machine architecture
+.Nm
+was compiled for, defined at compilation time.
+.It Va VPATH
+Makefiles may assign a colon-delimited list of directories to
+.Va VPATH .
+These directories will be searched for source files by
+.Nm
+after
+.Nm
+has finished parsing all input makefiles.
 .El
 .Pp
 Variable expansion may be modified to select or modify each word of the
-variable (where a ``word'' is white-space delimited sequence of characters).
+variable (where a
+.Dq word
+is whitespace-delimited sequence of characters).
 The general format of a variable expansion is as follows:
 .Pp
 .Dl {variable[:modifier[:...]]}
@@ -489,7 +602,7 @@
 .Pq Ql \e .
 .It Cm N Ns Ar pattern
 This is identical to
-.Ql Cm M ,
+.Cm M ,
 but selects all words which do not match
 the rest of the modifier.
 .It Cm Q
@@ -499,27 +612,27 @@
 .It Cm R
 Replaces each word in the variable with everything but its suffix.
 .Sm off
-.It Cm S No \&/ Ar old_pattern Xo
-.No \&/ Ar new_pattern
+.It Cm S No \&/ Ar old_string Xo
+.No \&/ Ar new_string
 .No \&/ Op Cm g
 .Xc
 .Sm on
 Modify the first occurrence of
-.Ar old_pattern
-in each word to be replaced with
-.Ar new_pattern .
+.Ar old_string
+in each word of the variable's value, replacing it with
+.Ar new_string .
 If a
 .Ql g
 is appended to the last slash of the pattern, all occurrences
 in each word are replaced.
 If
-.Ar old_pattern
-begins with a carat
+.Ar old_string
+begins with a caret
 .Pq Ql ^ ,
-.Ar old_pattern
+.Ar old_string
 is anchored at the beginning of each word.
 If
-.Ar old_pattern
+.Ar old_string
 ends with a dollar sign
 .Pq Ql \&$ ,
 it is anchored at the end of each word.
@@ -528,10 +641,10 @@
 an ampersand
 .Pq Ql &
 is replaced by
-.Ar old_pattern .
+.Ar old_string .
 Any character may be used as a delimiter for the parts of the modifier
 string.
-The anchoring, ampersand and delimiter characters may be escaped with a
+The anchoring, ampersand, and delimiter characters may be escaped with a
 backslash
 .Pq Ql \e .
 .Pp
@@ -541,7 +654,7 @@
 .Ar new_string
 with the single exception that a backslash is used to prevent the expansion
 of a dollar sign
-.Pq Ql \&$
+.Pq Ql \&$ ,
 not a preceding dollar sign as is usual.
 .It Cm T
 Replaces each word in the variable with its last component.
@@ -565,8 +678,8 @@
 to be replaced in
 .Ar new_string
 .El
-.Sh DIRECTIVES, CONDITIONALS AND FOR LOOPS
-Directives, conditionals and for loops reminiscent
+.Sh DIRECTIVES, CONDITIONALS, AND FOR LOOPS
+Directives, conditionals, and for loops reminiscent
 of the C programming language are provided in
 .Nm make .
 All such structures are identified by a line beginning with a single
@@ -694,7 +807,7 @@
 .El
 .Pp
 As in C,
-.Nm make
+.Nm
 will only evaluate a conditional as far as is necessary to determine
 its value.
 Parentheses may be used to change the order of evaluation.
@@ -732,7 +845,8 @@
 has been defined.
 .El
 .Pp
-.Ar Expression
+An
+.Ar expression
 may also be an arithmetic or string comparison.  Variable expansion is
 performed on both sides of the comparison, after which the integral
 values are compared.  A value is interpreted as hexadecimal if it is
@@ -749,21 +863,27 @@
 variable is being compared against 0.
 .Pp
 When
-.Nm make
-is evaluating one of these conditional expression, and it encounters
-a word it doesn't recognize, either the ``make'' or ``defined''
+.Nm
+is evaluating one of these conditional expressions, and it encounters
+a word it doesn't recognize, either the
+.Dq make
+or
+.Dq defined
 expression is applied to it, depending on the form of the conditional.
 If the form is
 .Ql Ic .ifdef
 or
 .Ql Ic .ifndef ,
-the ``defined'' expression
-is applied.
+the
+.Dq defined
+expression is applied.
 Similarly, if the form is
 .Ql Ic .ifmake
 or
-.Ql Ic .ifnmake ,                                            
-the ``make'' expression is applied.
+.Ql Ic .ifnmake ,
+the
+.Dq make
+expression is applied.
 .Pp
 If the conditional evaluates to true the parsing of the makefile continues
 as before.
@@ -791,10 +911,10 @@
 .Xc
 .El
 After the for
-.Ic expression
+.Ar expression
 is evaluated, it is split into words. The
 iteration
-.Ic variable
+.Ar variable
 is successively set to each word, and substituted in the
 .Ic make-rules
 inside the body of the for loop.
@@ -819,18 +939,18 @@
 .Nm make Ns 's .
 .It Ic .NOTMAIN
 Normally
-.Nm make
+.Nm
 selects the first target it encounters as the default target to be built
 if no target was specified.
 This source prevents this target from being selected.
 .It Ic .OPTIONAL
 If a target is marked with this attribute and
-.Nm make
+.Nm
 can't figure out how to create it, it will ignore this fact and assume
 the file isn't needed or already exists.
 .It Ic .PRECIOUS
 When
-.Nm make
+.Nm
 is interrupted, it removes any partially made targets.
 This source prevents the target from being removed.
 .It Ic .SILENT
@@ -839,7 +959,7 @@
 .Pq Ql @ .
 .It Ic .USE
 Turn the target into
-.Nm make Ns 's .
+.Nm make Ns 's
 version of a macro.
 When the target is used as a source for another target, the other target
 acquires the commands, sources, and attributes (except for
@@ -869,7 +989,7 @@
 .Ic .USE
 rule for any target (that was used only as a
 source) that
-.Nm make
+.Nm
 can't figure out any other way to create.
 Only the shell script is used.
 The
@@ -888,17 +1008,38 @@
 If no sources are specified, this is the equivalent of specifying the
 .Fl i
 option.
+.It Ic .INCLUDES
+A list of suffixes that indicate files that can be included in a source
+file. The suffix must have already been declared with
+.Ic .SUFFIXES ;
+any suffix so declared will have the directories on its search path (see
+.Ic .PATH )
+placed in the
+.Va .INCLUDES
+special variable, each preceeded by a
+.Fl I
+flag.
 .It Ic .INTERRUPT
 If
-.Nm make
+.Nm
 is interrupted, the commands for this target will be executed.
+.It Ic .LIBS
+This does for libraries what
+.Ic .INCLUDES
+does for include files, except that the flag used is
+.Fl L .
 .It Ic .MAIN
 If no target is specified when
-.Nm make
+.Nm
 is invoked, this target will be built.
+This is always set, either
+explicitly, or implicitly when
+.Nm
+selects the default target, to give the user a way to refer to the default
+target on the command line.
 .It Ic .MAKEFLAGS
 This target provides a way to specify flags for
-.Nm make
+.Nm
 when the makefile is used.
 The flags are as if typed to the shell, though the
 .Fl f
@@ -923,11 +1064,22 @@
 found in the current directory.
 If no sources are specified, any previously specified directories are
 deleted.
-.Pp
-The variable
-.Ql Ev VPATH
-used to add directories to the search path is permitted only for backward
-compatibility, and is not recommended for use in new Makefiles.
+Where possible, use of
+.Ic .PATH
+is preferred over use of the
+.Va VPATH
+variable.
+.It Ic .PATH\fIsuffix\fR
+The sources are directories which are to be searched for suffixed files
+not found in the current directory.
+.Nm Make
+first searches the suffixed search path, before reverting to the default
+path if the file is not found there.
+This form is required for
+.Ic .LIBS
+and
+.Ic .INCLUDES
+to work.
 .It Ic .PHONY
 Apply the
 .Ic .PHONY
@@ -953,36 +1105,26 @@
 Each source specifies a suffix to
 .Nm make .
 If no sources are specified, any previous specified suffices are deleted.
-.Sh SEARCH PATH
-.Nm Make
-searches for
-.Ql Pa Makefile
-in the following directories, in order:
-.Pp
-.Bl -enum -compact
-.It
-${MAKEOBJDIRPREFIX}`cwd`
-.It
-${MAKEOBJDIR}
-.It
-obj.${MACHINE}
-.It
-obj 
-.It
-/usr/obj${MACHINE}`cwd`
-.It
-The current directory (`cwd`).
-.El
-.Pp
-If
-.Nm make
-finds the
-.Ql Pa Makefile
-someplace other than the current working directory, it adds the CWD to
-the search path.
+.Sh COMPATIBILITY
+Older versions of
+.Nm
+used
+.Ev MAKE
+instead of
+.Ev MAKEFLAGS .
+This was removed for POSIX compatibility.
+The internal variable
+.Va MAKE
+is set to the same value as
+.Va .MAKE ;
+support for this may be removed in the future.
+.Pp
+Most of the more esoteric features of
+.Nm
+should probably be avoided for greater compatibility.
 .Sh ENVIRONMENT
 .Nm Make
-utilizes the following environment variables, if they exist:
+uses the following environment variables, if they exist:
 .Ev MACHINE ,
 .Ev MAKE ,
 .Ev MAKEFLAGS ,
@@ -992,23 +1134,60 @@
 .Ev PWD .
 .Sh FILES
 .Bl -tag -width /usr/share/doc/psd/12.make -compact
-.It .depend
+.It Pa .depend
 list of dependencies
-.It Makefile
+.It Pa Makefile
 list of dependencies
-.It makefile
+.It Pa makefile
 list of dependencies
 .It obj
 object directory
-.It sys.mk
+.It Pa sys.mk
 system makefile
-.It /usr/share/mk
+.It Pa /usr/share/mk
 system makefile directory
 .It /usr/share/doc/psd/12.make
 PMake tutorial
-.It /usr/obj
-system object directory prefix
+.It Pa /usr/obj
+default
+.Ev MAKEOBJDIRPREFIX
+directory.
 .El
+.Sh BUGS
+The determination of
+.Va .OBJDIR
+is contorted to the point of absurdity.
+.Pp
+In the presence of several
+.Ic .MAIN
+special targets,
+.Nm
+silently ignores all but the first.
+.Pp
+.Va .TARGETS
+is not set to the default target when
+.Nm
+is invoked without a target name and no
+.Ic .MAIN
+special target exists.
+.Pp
+The evaluation of
+.Ar expression
+in a test is very simple-minded. Currently, the only form that works is
+.Ql .if ${VAR} op something
+For instance, you should write tests as
+.Ql .if ${VAR} = "string"
+not the other way around, which doesn't work.
+.Pp
+For loops are expanded before tests, so a fragment such as:
+.Bd -literal
+\&.for TMACHINE in ${SHARED_ARCHS}
+\&.if ${TMACHINE} = ${MACHINE}
+     ...
+\&.endif
+\&.endfor
+.Ed
+won't work, and should be rewritten the other way around.
 .Sh SEE ALSO
 .Xr mkdep 1
 .Rs
@@ -1016,6 +1195,6 @@
 .Re
 .Sh HISTORY
 A
-.Nm Make
+.Nm
 command appeared in
 .At v7 .

