summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/make/make.167
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 +