=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/make.1,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- src/usr.bin/make/make.1 2003/09/04 22:14:43 1.56 +++ src/usr.bin/make/make.1 2003/09/29 11:35:11 1.57 @@ -1,4 +1,4 @@ -.\" $OpenBSD: make.1,v 1.56 2003/09/04 22:14:43 jmc Exp $ +.\" $OpenBSD: make.1,v 1.57 2003/09/29 11:35:11 jmc Exp $ .\" $OpenPackages$ .\" $NetBSD: make.1,v 1.18 1997/03/10 21:19:53 christos Exp $ .\" @@ -189,7 +189,7 @@ .Nm may have running at any one time. Turns compatibility mode off, unless the -.Ar B +.Fl B flag is also specified. .It Fl m Ar directory Specify a directory in which to search for @@ -243,13 +243,14 @@ Note that the use of several targets is merely a shorthand for duplicate rules. Specifically, -.Bd -literal +.Bd -literal -offset indent target1 target2: depa depb cmd1 cmd2 .Ed +.Pp is just a short form of -.Bd -literal +.Bd -literal -offset indent target1: depa depb cmd1 cmd2 @@ -260,7 +261,7 @@ .Pp .Nm does not support Solaris syntax for true multiple targets: -.Bd -literal +.Bd -literal -offset indent target1 + target2: depa depb cmd1 cmd2 @@ -340,7 +341,7 @@ .Sq Ic \- and/or .Sq Ic + , -the command is treated specially. +the command is treated specially: .Bl -tag -width `@' .It Sq Ic @ causes the command not to be echoed before it is executed. @@ -349,7 +350,8 @@ .It Sq Ic + causes the command to be executed even if .Fl n -has been specified (This can be useful to debug recursive Makefiles). +has been specified. +(This can be useful to debug recursive Makefiles.) .El .Pp The command is always executed using @@ -372,7 +374,7 @@ Any previous value is overridden. .It Ic \&:= Assign with expansion, i.e., expand the value before assigning it -to the variable (extension) +to the variable (extension). .It Ic \&+= Append the value to the current value of the variable (extension). .It Ic \&?= @@ -459,7 +461,7 @@ It is also set when there is an implied rule that matches the current dependency in scope. That is, in -.Bd -literal +.Bd -literal -offset indent \&.SUFFIXES: .c.o file.o: file.c cmd1 $< @@ -467,6 +469,7 @@ \&.c.o: cmd2 .Ed +.Pp building .Pa file.o will execute @@ -623,11 +626,11 @@ .It Va .INCLUDES See .Ic .INCLUDES -special target +special target. .It Va .LIBS See .Ic .LIBS -special target +special target. .It Va MACHINE Name of the machine architecture .Nm @@ -807,13 +810,14 @@ .Pq Ql \&. character. Whitespace characters may follow this dot, e.g., -.Bd -literal - \&.include +.Bd -literal -offset indent +\&.include .Ed and -.Bd -literal - \&. include +.Bd -literal -offset indent -compact +\&. include .Ed +.Pp are identical constructs. Files are included with either .Ql .include @@ -1262,10 +1266,15 @@ .IT Pa /usr/obj default .Ev MAKEOBJDIRPREFIX -directory. +directory .El .Sh SEE ALSO -.Xr mkdep 1 +.Xr ed 1 , +.Xr mkdep 1 , +.Xr sh 1 , +.Xr getcwd 3 , +.Xr regex 3 , +.Xr uname 3 .Pp .Rs .%T Make \- A Tutorial @@ -1305,7 +1314,7 @@ .Nm silently ignores all commands after the first non empty set of commands, e.g., in -.Bd -literal +.Bd -literal -offset indent a: @echo "Executed" a: @@ -1331,7 +1340,7 @@ not the other way around, which doesn't work. .Pp For loops are expanded before tests, so a fragment such as: -.Bd -literal +.Bd -literal -offset indent \&.for TMACHINE in ${SHARED_ARCHS} \&.if ${TMACHINE} = ${MACHINE} ... @@ -1346,10 +1355,11 @@ may erroneously mark archive members as out of date if the archive name was truncated. .Pp -The handling of ; and other special characters in tests may be utterly -bogus. +The handling of +.Sq ;\& +and other special characters in tests may be utterly bogus. For instance, in -.Bd -literal +.Bd -literal -offset indent \&A=abcd;c.c \&.if ${A:R} == "abcd;c" .Ed @@ -1358,21 +1368,22 @@ .Pp The conditional handler is incredibly lame. Junk such as -.Bd -literal -\&.if defined anything goes (A) -.Ed .Pp +.Dl \&.if defined anything goes (A) +.Pp will be accepted silently. .Pp -In a .for loop, only the variable value is used, assignments will be +In a .for loop, only the variable value is used; assignments will be evaluated later, e.g., in -.Bd -literal +.Bd -literal -offset indent \&.for I in a b c d I:=${I:S/a/z} A+=$I \&.endfor .Ed -A will evaluate to a b c d after the loop, not z b c d. +.Pp +.Sq A +will evaluate to a b c d after the loop, not z b c d. .Pp The .Ql +