Subject: Re: build.sh parameter confusion
To: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
From: Greywolf <greywolf@starwolf.com>
List: current-users
Date: 06/19/2003 01:44:12
Thus spake Jochen Kunz ("JK> ") sometime Yesterday...

JK> Date: Wed, 18 Jun 2003 11:16:13 +0200
JK> From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
JK> To: NetBSD current list <current-users@netbsd.org>
JK> Subject: Re: build.sh parameter confusion
JK>
JK> On 2003.06.18 06:38 Frederick Bruckman wrote:
JK>
JK> > "-M" leaves you a completely clean source tree,
JK> > no "obj*" directory or symlink whatsoever.
JK> Hmmm. Does this mean that multiple, concurrent builds to different
JK> target architectures are possible?

Hm.  I'm using -O rather than -M because I don't want the
redundant /usr/src in the pathname.

My current setup, FWIW:

/export/arch/${arch}, for any $arch (really, "platform"...)

  build    obj      release     root     swap      usr

  build:	Where stuff gets built to;
  obj:    	objdir;
  release:	Where the tars (are supposed to) go;
  root:		per-system roots, including a BASE template containing
		necessary executables which get hardlinked into each
		system's root dir;
  swap:		per-system swap files; should probably just go in /export/swap;
  usr:		per-platform /usr;


build.sh \
	-T /usr/src/tools/tools-$platform \
	-O /export/arch/$platform/obj \
	-m $arch -D /export/arch/$platform/build \
	[ -R /export/arch/$platform/release -o -u ] \
	-V BUILD=YES build { or release, or sets, depending% }

seems to work just fine -- I'm building for three worlds.

				--*greywolf;
--
% I have yet to successfully be able to build a release due to there being
  no easy way to tailor the checklist, or to get it to make the sets
  ANYway, even if the flists don't match (I think there's some mk.conf
  stuff, but I've tried to .ifdef BUILD so that during a full build
  from build.sh (i.e. where I define BUILD), it will fall back to the
  default.