Subject: Re: Question about build.sh & BSDOBJDIR
To: Martin Weber <Ephaeton@gmx.net>
From: Luke Mewburn <lukem@NetBSD.org>
List: current-users
Date: 08/11/2003 20:00:15
On Sun, Aug 10, 2003 at 12:56:22PM +0200, Martin Weber wrote:
  | Yo,
  | 
  | I just stopped building on my weak machines and moved it over to a
  | bigger one, and now am building on it (phaeton) like this:
  | 
  | $ ./build.sh -T /usr/tools -O /usr/<target>-obj -D /usr/<target>-dest
  |    distribution
  | 
  | where target is the name of the target machine (in my cases, demon,
  | hermes, helios and cerberus), using different places because I
  | build each distribution with optimizations fitting for the target.
  | 
  | (...except for phaeton which gets built in /usr/obj and /usr/dest.)
  | 
  | Now I wanted to make sets to install on one of those, and I didn't remember
  | the build.sh argument (sets of course :) so I went help, saw param and my
  | curiosity arose, looking at its output. Well, and I was surprised to see
  | BSDOBJDIR something totally strange:
  | 
  | ===> Updated /usr/tools/bin/nbmake-i386
  |            BSDSRCDIR = '/usr/src'
  |            BSDOBJDIR = '/usr/obj'

(see below)


  |              BUILDID = (undefined)
  |              DESTDIR = '/usr/demon-dest/'
  |   EXTERNAL_TOOLCHAIN = (undefined)
  |          KERNARCHDIR = 'arch/i386'
  |          KERNCONFDIR = '/usr/src/sys/arch/i386/conf'
  |           KERNOBJDIR = '/usr/demon-obj//sys/arch/i386/compile'
  |           KERNSRCDIR = '/usr/src/sys'
  |              MACHINE = 'i386'
  |         MACHINE_ARCH = 'i386'
  |             MAKECONF = '/etc/mk.conf'
  |            MAKEFLAGS = ' -m /usr/src/share/mk HOST_OSTYPE=NetBSD-1.6W-i386 MKOBJDIRS=yes _SRC_TOP_=/usr/src'
  |           MAKEOBJDIR = '/usr/demon-obj/'

-O sets MAKEOBJDIR not BSDOBJDIR.
MAKEOBJDIR takes priority over BSDOBJDIR.


  |     MAKEOBJDIRPREFIX = (undefined)
  |            MKOBJDIRS = 'yes'
  |           MKUNPRIVED = 'no'
  |             MKUPDATE = 'no'
  |           RELEASEDIR = '/usr/demon-obj//releasedir'
  |    TOOLCHAIN_MISSING = 'no'
  |              TOOLDIR = '/usr/tools'
  |             USETOOLS = 'yes'
  | 
  | So... now I wonder whether this is giving me any problems, /usr/obj
  | contains stuff optimized for i686, the machine I want to install has
  | no optimizations (and is a 486).. Will stuff from /usr/obj now end up
  | on my 486, being unrunnable ? Shouldn't BSDOBJDIR be adjusted to what-
  | ever is supplied with -O to build.sh ?
  | 
  | Note I do not know BSDOBJDIR's effect, just saw it's a wrong path...
  | 
  | -Martin