Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jul 2021 01:51:54 GMT
From:      Jessica Clarke <jrtc27@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: d0c737e18454 - main - Makefile: Fix MAKEOBJDIRPREFIX command-line variable check for bmake
Message-ID:  <202107210151.16L1pspx027312@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jrtc27:

URL: https://cgit.FreeBSD.org/src/commit/?id=d0c737e18454868447f731fe2b10d04f50d9d53b

commit d0c737e18454868447f731fe2b10d04f50d9d53b
Author:     Jessica Clarke <jrtc27@FreeBSD.org>
AuthorDate: 2021-07-21 01:48:10 +0000
Commit:     Jessica Clarke <jrtc27@FreeBSD.org>
CommitDate: 2021-07-21 01:51:26 +0000

    Makefile: Fix MAKEOBJDIRPREFIX command-line variable check for bmake
    
    Unlike the old fmake, running make FOO=bar when using bmake doesn't put
    FOO=bar in .MAKEFLAGS at the top level, it instead just puts FOO in
    .MAKEOVERRIDES and the full MAKEFLAGS will be formed for sub-makes.
    Moreover, this only applies for sub-makes in rules, so this doesn't
    apply to those in shell assignments. This means that the current check
    does not catch make MAKEOBJDIRPREFIX=..., only those defined in config
    files. Thus we must also check .MAKEOVERRIDES explicitly.
    
    Reviewed by:    sjg
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D31015
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 711854f4693c..c64873fb241b 100644
--- a/Makefile
+++ b/Makefile
@@ -218,7 +218,7 @@ _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} MK_AUTO_OBJ=no \
     ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \
     SRCCONF=${SRCCONF} SRC_ENV_CONF= \
     -f /dev/null -V MAKEOBJDIRPREFIX dummy
-.if !empty(_MAKEOBJDIRPREFIX)
+.if !empty(_MAKEOBJDIRPREFIX) || !empty(.MAKEOVERRIDES:MMAKEOBJDIRPREFIX)
 .error MAKEOBJDIRPREFIX can only be set in environment or src-env.conf(5),\
     not as a global (in make.conf(5) or src.conf(5)) or command-line variable.
 .endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107210151.16L1pspx027312>