MAKEOBJDIRPREFIX fails if it has dot '.' in dir name (maybe also with some other chars)
Enji Cooper
yaneurabeya at gmail.com
Mon Aug 12 15:09:48 UTC 2019
> On Aug 12, 2019, at 7:38 AM, Glen Barber <gjb at FreeBSD.org> wrote:
>
> On Mon, Aug 12, 2019 at 03:17:35PM +0200, Domagoj Smolčić wrote:
>> 11.3-RELEASE-p2
>>
>>
>> # make MAKEOBJDIRPREFIX=/usr/obj/usr.LOCAL buildworld
>
> You set MAKEOBJDIRPREFIX two different ways. Here you did not set it
> in the environment, but as a variable to make(1). The way you did this
> below is correct.
…
>> # env MAKEOBJDIRPREFIX=/usr/obj/usr_LOCAL make buildworld
>
> This worked for me using '.' in the path.
>
> # env MAKEOBJDIRPREFIX=/usr/obj/usr.LOCAL make buildworld
> make[1]: "/usr/src/Makefile.inc1" line 163: SYSTEM_COMPILER: Determined that CC=cc matches the source tree. Not bootstrapping a cross-compiler.
Hmmm… I wonder why this error case in /Makefile wasn’t tripped...
193 MAKEOBJDIRPREFIX?= /usr/obj
194 _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} MK_AUTO_OBJ=no \
195 ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \
196 SRCCONF=${SRCCONF} SRC_ENV_CONF= \
197 -f /dev/null -V MAKEOBJDIRPREFIX dummy
198 .if !empty(_MAKEOBJDIRPREFIX)
199 .error MAKEOBJDIRPREFIX can only be set in environment or src-env.conf(5),\
200 not as a global (in make.conf(5) or src.conf(5)) or command-line variable.
201 .endif
-Enji
More information about the freebsd-hackers
mailing list