svn commit: r287636 - head/share/mk
Bryan Drewery
bdrewery at FreeBSD.org
Wed Sep 16 18:02:30 UTC 2015
On 9/11/15 8:24 AM, Simon J. Gerraty wrote:
> Julian Elischer <julian at freebsd.org> wrote:
>>> If MAKEOBJDIR is empty or not a suitable value (no '/')
>>> set a default that works.
>>
>> if not suitable.. it should error (with a really explicit error
>> message), not do something else..
>
> How about:
>
> $ MAKEOBJDIR='obj.${MACHINE}' make -C bin/cat -DWITH_META_MODE -V .OBJDIR
> make: "/b/sjg/work/FreeBSD/current/src/share/mk/local.meta.sys.mk" line
> 29: Cannot use MAKEOBJDIR=obj.amd64
> Unset MAKEOBJDIR to get default: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
> $
>
> Index: share/mk/local.meta.sys.mk
> ===================================================================
> --- share/mk/local.meta.sys.mk (revision 287636)
> +++ share/mk/local.meta.sys.mk (working copy)
> @@ -16,15 +16,19 @@
> MAKEOBJDIRPREFIX=
> .export MAKEOBJDIRPREFIX
> .endif
> -.if empty(MAKEOBJDIR) || ${MAKEOBJDIR:M*/*} == ""
> +_default_makeobjdir=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},}
> +.if empty(MAKEOBJDIR)
> # OBJTOP set below
> -MAKEOBJDIR=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},}
> +MAKEOBJDIR=${_default_makeobjdir}
> # export but do not track
> .export-env MAKEOBJDIR
> # now for our own use
> MAKEOBJDIR= ${.CURDIR:S,${SRCTOP},${OBJTOP},}
> .endif
> +.if ${MAKEOBJDIR:M*/*} == ""
> +.error Cannot use MAKEOBJDIR=${MAKEOBJDIR}${.newline}Unset MAKEOBJDIR to get default: MAKEOBJDIR='${_default_makeobjdir}'
> .endif
> +.endif
> .if !empty(SB)
> SB_OBJROOT ?= ${SB}/obj/
> # this is what we use below
>
I have committed this as it seems fine and I need to make changes around
the code.
--
Regards,
Bryan Drewery
More information about the svn-src-all
mailing list