Date: Tue, 24 May 2005 00:10:44 +1000 From: Sam Lawrance <boris@brooknet.com.au> To: Harti Brandt <harti@freebsd.org> Cc: arch@freebsd.org Subject: Re: Handling of shell builtins in make(1) Message-ID: <1116857445.1537.4.camel@dirk.no.domain> In-Reply-To: <20050523153118.C28521@beagle.kn.op.dlr.de> References: <20050523153118.C28521@beagle.kn.op.dlr.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2005-05-23 at 15:51 +0200, Harti Brandt wrote: > Hi all, > > I think I found a problem in the shell code in make(1), but I'm not sure > whether to fix it or not and how. The problem is as follows: in compat > mode (this is the default mode when make(1) is not called with -j) the > command lines of a target are executed by one shell per line (this is also > how Posix wants it). To reduce the number of shells make does an > optimisation: when the command line does not contain one of a pre-defined > set of meta characters and does not start with one of a predefined set of > shell builtins, make directly exec's the command instead of using an > intermediate shell. The problem is that the current list of builtins is > limited to: > > alias cd eval exec exit read set ulimit unalias umask unset wait > That explains some of ports/66342 for me.. in particular why setting "ECHO_CMD=echo -e" didn't perform entirely as I expected.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1116857445.1537.4.camel>