Mon Sep 17 01:23:46 2012 UTC ()
Document the fact that lack of shell meta chars in a command
results in direct exec in compat mode.


(sjg)
diff -r1.206 -r1.207 src/usr.bin/make/make.1

cvs diff -r1.206 -r1.207 src/usr.bin/make/make.1 (expand / switch to unified diff)

--- src/usr.bin/make/make.1 2012/08/30 22:35:37 1.206
+++ src/usr.bin/make/make.1 2012/09/17 01:23:45 1.207
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1.\" $NetBSD: make.1,v 1.206 2012/08/30 22:35:37 wiz Exp $ 1.\" $NetBSD: make.1,v 1.207 2012/09/17 01:23:45 sjg Exp $
2.\" 2.\"
3.\" Copyright (c) 1990, 1993 3.\" Copyright (c) 1990, 1993
4.\" The Regents of the University of California. All rights reserved. 4.\" The Regents of the University of California. All rights reserved.
5.\" 5.\"
6.\" Redistribution and use in source and binary forms, with or without 6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions 7.\" modification, are permitted provided that the following conditions
8.\" are met: 8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright 9.\" 1. Redistributions of source code must retain the above copyright
10.\" notice, this list of conditions and the following disclaimer. 10.\" notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\" notice, this list of conditions and the following disclaimer in the 12.\" notice, this list of conditions and the following disclaimer in the
13.\" documentation and/or other materials provided with the distribution. 13.\" documentation and/or other materials provided with the distribution.
14.\" 3. Neither the name of the University nor the names of its contributors 14.\" 3. Neither the name of the University nor the names of its contributors
@@ -19,27 +19,27 @@ @@ -19,27 +19,27 @@
19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28.\" SUCH DAMAGE. 28.\" SUCH DAMAGE.
29.\" 29.\"
30.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 30.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
31.\" 31.\"
32.Dd August 30, 2012 32.Dd September 16, 2012
33.Dt MAKE 1 33.Dt MAKE 1
34.Os 34.Os
35.Sh NAME 35.Sh NAME
36.Nm make 36.Nm make
37.Nd maintain program dependencies 37.Nd maintain program dependencies
38.Sh SYNOPSIS 38.Sh SYNOPSIS
39.Nm 39.Nm
40.Op Fl BeikNnqrstWX 40.Op Fl BeikNnqrstWX
41.Op Fl C Ar directory 41.Op Fl C Ar directory
42.Op Fl D Ar variable 42.Op Fl D Ar variable
43.Op Fl d Ar flags 43.Op Fl d Ar flags
44.Op Fl f Ar makefile 44.Op Fl f Ar makefile
45.Op Fl I Ar directory 45.Op Fl I Ar directory
@@ -2032,26 +2032,33 @@ Unlike other @@ -2032,26 +2032,33 @@ Unlike other
2032.Nm 2032.Nm
2033programs, this implementation by default executes all commands for a given 2033programs, this implementation by default executes all commands for a given
2034target using a single shell invocation. 2034target using a single shell invocation.
2035This is done for both efficiency and to simplify error handling in remote 2035This is done for both efficiency and to simplify error handling in remote
2036command invocations. 2036command invocations.
2037Typically this is transparent to the user, unless the target commands change 2037Typically this is transparent to the user, unless the target commands change
2038the current working directory using 2038the current working directory using
2039.Dq cd 2039.Dq cd
2040or 2040or
2041.Dq chdir . 2041.Dq chdir .
2042To be compatible with Makefiles that do this, one can use 2042To be compatible with Makefiles that do this, one can use
2043.Fl B 2043.Fl B
2044to disable this behavior. 2044to disable this behavior.
 2045.Pp
 2046In compatability mode, each command is run in a separate process.
 2047If the command contains any shell meta characters
 2048.Pq Ql #=|^(){};&<>*?[]:$`\e\en
 2049it will be passed to the shell, otherwise
 2050.Nm
 2051will attempt direct execution.
2045.Sh SEE ALSO 2052.Sh SEE ALSO
2046.Xr mkdep 1 2053.Xr mkdep 1
2047.Sh HISTORY 2054.Sh HISTORY
2048A 2055A
2049.Nm 2056.Nm
2050command appeared in 2057command appeared in
2051.At v7 . 2058.At v7 .
2052This 2059This
2053.Nm 2060.Nm
2054implementation is based on Adam De Boor's pmake program which was written 2061implementation is based on Adam De Boor's pmake program which was written
2055for Sprint at Berkeley. 2062for Sprint at Berkeley.
2056It was designed to be a parallel distributed make running jobs on different 2063It was designed to be a parallel distributed make running jobs on different
2057machines using a daemon called 2064machines using a daemon called