diff options
-rw-r--r-- | usr.bin/make/make.1 | 67 |
1 files changed, 39 insertions, 28 deletions
diff --git a/usr.bin/make/make.1 b/usr.bin/make/make.1 index 4b129cf41c5..cf3cf06905b 100644 --- a/usr.bin/make/make.1 +++ b/usr.bin/make/make.1 @@ -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 @@ Specify the maximum number of jobs that .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 @@ by the operator that separates them. 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 @@ target2: depa depb .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 @@ If a command line begins with a combination of the characters, .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 @@ causes any non-zero exit status of the command line to be ignored. .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 @@ Assign the value to the variable. 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 @@ should only be used for actual implied rules. 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 @@ file.o: file.c \&.c.o: cmd2 .Ed +.Pp building .Pa file.o will execute @@ -623,11 +626,11 @@ is currently building. .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 @@ dot .Pq Ql \&. character. Whitespace characters may follow this dot, e.g., -.Bd -literal - \&.include <file> +.Bd -literal -offset indent +\&.include <file> .Ed and -.Bd -literal - \&. include <file> +.Bd -literal -offset indent -compact +\&. include <file> .Ed +.Pp are identical constructs. Files are included with either .Ql .include <file> @@ -1262,10 +1266,15 @@ system makefile directory .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 @@ If the same target is specified several times in normal dependency rules, .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 @@ For instance, tests should be written as 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 @@ When handling pre-BSD 4.4 archives, 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 @@ the test will never match, even though the value is correct. .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 + |