Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Sep 2015 11:02:25 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        "Simon J. Gerraty" <sjg@juniper.net>, Julian Elischer <julian@freebsd.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r287636 - head/share/mk
Message-ID:  <55F9AEB1.4040009@FreeBSD.org>
In-Reply-To: <13099.1441985049@chaos>
References:  <201509110019.t8B0JocS082576@repo.freebsd.org> <55F2529E.5080105@freebsd.org> <13099.1441985049@chaos>

next in thread | previous in thread | raw e-mail | index | archive | help
On 9/11/15 8:24 AM, Simon J. Gerraty wrote:
> Julian Elischer <julian@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



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