Handling of shell builtins in make(1)
Sam Lawrance
boris at brooknet.com.au
Mon May 23 07:10:08 PDT 2005
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.
More information about the freebsd-arch
mailing list