Subject: Re: obj.${MACHINE_ARCH} etc
To: Ben Harris <bjh21@netbsd.org>
From: David Brownlee <abs@netbsd.org>
List: tech-userlevel
Date: 04/18/2001 15:55:40
On Wed, 18 Apr 2001, Ben Harris wrote:
> One of the arguments against splitting up the arm32 port into lots of
> little ports has been that it will make building binary snapshots slower,
> since the current build system treats each MACHINE separately, putting
> binaries in obj.${MACHINE}. This means that it's not possible to take
> advantage of all the work done in building (say) a dnard snapshot when
> building an hpcarm snapshot in the same tree. This is clearly silly.
>
> Clearly (to me), what's needed is for builds of the same MACHINE_ARCH to
> be able to share objdirs. Clearly, also, this won't always be
> appropriate. Here's a way to achieve that:
>
> We arrange that bsd.obj.mk create obj.${OBJDIRSUFFIX} rather than
> obj.${MACHINE} if OBJDIRSUFFIX is defined. It also symlinks
> obj.${MACHINE} to obj.{$OBJDIRSUFFIX} so as to avoid the need to modify
> make. Any Makefile that knows that it's not doing anything
> MACHINE-specific can define OBJDIRSUFFIX=${MACHINE_ARCH} and get to share
> objdirs with builds for other systems.
>
It would seem that the vast majority of Makefiles should be able
to share on ${MACHINE_ARCH}. Would it make sense to have the
default be ${MACHINE_ARCH} and override to ${MACHINE}?
David/absolute -- www.netbsd.org: No hype required --