Subject: build.sh parameter confusion
To: NetBSD current list <current-users@netbsd.org>
From: William Allen Simpson <wsimpson@greendragon.com>
List: current-users
Date: 06/17/2003 22:40:30
I'm trying to figure out the build.sh parameters.  Documentation is 
somewhat confusing.

For example, http://netbsd.org/Documentation/current/ has the parameter 
order as
  ./build.sh -O /usr/obj -D /usr/NetBSD-new-build -T /usr/tools build

and as
  ./build.sh -D /usr/NetBSD-new-build -O /usr/obj -T /usr/tools -u build

but as far as I can tell, the order of -D and -O makes no difference.

Also, I don't understand why both -O and -M are useful?  History?  
There's enough examples (in BUILDING) to show what happens for -O, but 
not for -M.

And, the example in "Updating an existing system" is just plain wrong,
saying: 
  mv sys/arch/<ARCH>/compile/GENERIC/netbsd /

which is the equivalent of:
  /usr/src/sys/arch/<ARCH>/compile/GENERIC/netbsd
 
but the kernel actually shows up in: 
  /usr/obj/sys/arch/<ARCH>/compile/GENERIC/netbsd
       ^^^

because build.sh now defaults to running 'make obj'.

===

What I'd really like is just visually consistent default behaviour.  

If I'm in /usr/src and run ./build.sh build, it would be nice to have the 
defaults just be /usr/obj and /usr/obj/tools and /usr/obj/release.  Is 
this what happens?

Likewise, if I'm in /home/NetBSD-current and run ./build.sh build, it 
would be nice to have the defaults just be /home/NetBSD-current/obj and 
/home/NetBSD-current/obj/tools and /home/NetBSD-current/obj/release.  
AFAIK, this isn't what happens.  Is that -M?

Examples would make the documentation a lot easier to understand....

===

Yes, I really like build.sh better than the old make, but I'm having 
teething problems.

--
William Allen Simpson
    Key fingerprint =  17 40 5E 67 15 6F 31 26  DD 0D B9 9B 6A 15 2C 32