World broken in stage 1.1

Ruslan Ermilov ru at
Wed Aug 11 15:43:27 PDT 2004

On Wed, Aug 11, 2004 at 04:26:40PM -0600, M. Warner Losh wrote:
> In message: <20040811221348.GB93983 at>
>             Ruslan Ermilov <ru at> writes:
> : On Wed, Aug 11, 2004 at 04:04:20PM -0600, M. Warner Losh wrote:
> : > In message: <20040810231044.GA70020 at>
> : >             Kris Kennaway <kris at> writes:
> : > : More fallout from the wonderful new make(1) semantics? 
> : > 
> : > I think it is speficially related to the changes to src/Makefile and
> : > src/Makefile.inc1.  If I s/${_+_}//g on those two files, it appears
> : > that I can buildworld again (at least it doesn't die right away).
> : > 
> : How exactly does it die for you, please provide some logs.
> The problem is due to the following in share/mk/
> .if !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
> _+_             ?=
> .else
> _+_             ?=      +
> .endif
> This should have a third clause:
> .if ${MAKE_VERSION} >= 5200408030 && !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
> so that _+_ is defined to be nothing for those versions of make that
> don't yet support this new feature of posix.
Why?  It's not supposed that you try an old make(1) binary with
the new share/mk/  src/Makefile will upgrade make(1) if
necessary, then use it (or the old make if it's adequate) with
new share/mk stuff to call Makefile.inc1.  If you throw away
the -m from your "make" command in your build script, it will

We want to be able to use the new make(1) features in our
share/mk files right after when they made available.  That was
one of the main ideas of the make(1) regression testing feature
in src/Makefile.

It's like we now handle backward issues in our C sources -- we
agreed not to pollute sources with __FreeBSD_version checks,
and we keep the necessary bootstrapping glue in a separate
place.  The same applies here -- one is free to use new make(1)
features in src/ makefiles and in share/mk support files.
src/Makefile and tools/regression/usr.bin/make guarantee that
we'll always use the make(1) binary compatible with the
feature set used in our .mk and makefiles.

Please update your build scripts...

Ruslan Ermilov
ru at
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the freebsd-current mailing list