Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 May 2013 22:41:21 -0700
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Garrett Cooper <yanegomi@gmail.com>, freebsd-toolchain@freebsd.org, "freebsd-arch@FreeBSD.org Arch" <freebsd-arch@freebsd.org>
Subject:   Re: [RFC] adding a variable to .mk and Makefile.inc1 to point to top of the FreeBSD source tree
Message-ID:  <20130508054121.DCA7258097@chaos.jnpr.net>
In-Reply-To: <D6BADC3E-CCC4-4D85-8857-FB6BAAFBB820@bsdimp.com>
References:  <CAGH67wS21otQr1fBqQ2z=XQjUV30QUjdtyAkzC_Tf1Ts%2BPq%2B8g@mail.gmail.com> <20130507213118.5277F58097@chaos.jnpr.net> <D6BADC3E-CCC4-4D85-8857-FB6BAAFBB820@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tue, 7 May 2013 21:25:37 -0600, Warner Losh writes:
>where does MAKEOBJDIRPREFIX come into play?

I don't normally use it, it is a handy but rather crude implement.
I normally use 

MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'

which gives you a similar - but much neater result than
MAKEOBJDIRPREFIX.

>We do it both ways: on some architectures we have multiple =
>MACHINE_ARCHes per MACHINE (like mips and arm) and on others we have one =
>MACHINE_ARCH and mutliple machines (like i386 and pc98).

Yes, which is why I'm adjusting accordingly.

>We currently use ${MACHINE}.${MACHINE_ARCH} for cross builds, which =
>works out nicely. For historical reasons that turn out to be =
>inconvenient, we don't do this for native builds.

>Why is this gratuitously different than the current scheme? 

Do you mean why not simply use ${MACHINE}.${MACHINE_ARCH} always?
Encoding both MACHINE and MACHINE_ARCH always is doable, but I avoid '.'
because it prevents being able to  use modifiers like :R and :E
to separate the directory component from the target machine spec.

The projects/bmake branch is about showing how freebsd can be built in
meta mode.  The tree dependencies are represented as dir.target_spec

>would I build a pc98 build with this? And why have it be different for =

it would just get pc98 since there's no ambiguity.
But as noted above, if you wanted to always be explicit that wouldn't be
a problem (assuming '.' is avoided).




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