Subject: Re: obj.${MACHINE_ARCH}-${OBJECT_FMT}
To: Ben Harris <bjh21@netbsd.org>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: tech-userlevel
Date: 10/18/2001 10:41:32
On Thu, Oct 18, 2001 at 06:15:43PM +0100, Ben Harris wrote:
> Erm, won't the first of those build in src/tools/toolchain/obj.i386 and
> the second in src/tools/toolchain/obj.sparc64? That's certainly what
> seems to happen here (s/i386/macppc/;s/sparc64/arm26/).
But that's wrong if you then want to do a self-host on the sparc64 (to
e.g. test pmap stability, or something). They're not really sparc64
objects -- they're i386 objects, so putting them into obj.sparc64 is
also wrong conceptually.
> You certainly couldn't get away with just changing objdirsuffix, since
> make(1) still assumes that every value of getenv("MACHINE") will have a
> distinct objdir, and you seem to be leaving MACHINE representing the host.
You could then set MAKEOBJDIR to obj.$objdirsuffix which would then
cause make(1) to DTRT, I believe.
> > Anyway, this would then allow a builder to simply set TARGET_MACHINE
> > and TARGET_MACHINE_ARCH, and be able to cross-build the tree without
> > the weird side-effects of overriding MACHINE and MACHINE_ARCH.
>
> What side-effects are these? I've seen very few problems doing this kind
> of thing myself, and working on the assumption that MACHINE and
> MACHINE_ARCH represent the target.
See above -- "non-intuitive to have i386 objects in a directory called
obj.sparc64".
--
-- Jason R. Thorpe <thorpej@wasabisystems.com>