Commit Graph

36 Commits

Author SHA1 Message Date
wiz
2dfb022444 Document -h. From Karsten Kruse in PR 25974.
While here, remove a duplicate sentence.
2004-06-25 15:04:02 +00:00
wiz
886a1acd28 Document MKTTINTERP. 2004-03-19 12:34:39 +00:00
lukem
e26864a9c6 * Document build.sh -X and -x
* Document MKX11 and X11SRCDIR
* Remove note warning against cross-building from systems other than NetBSD;
  it works on many other platforms.
2004-02-06 23:22:44 +00:00
jmc
ee42cb9014 Note tools/compat/README as the place to get notes from non-native cross builds 2003-12-29 07:10:24 +00:00
zuntum
55c70d751b Change -v to -V in the following section:
"Print make(1)'s idea of the value of var.  Does not build any targets."

To reflect reality.

Found by Tomasz Marciniak <Tomasz.Marciniak@felix.fizyka.amu.edu.pl>, thanks!
2003-12-19 12:06:45 +00:00
lukem
5daa33014e Improve how build.sh -N and MAKEVERBOSE interoperate;
rather than adding '-s' to make's command line in the makewrapper,
use the .SILENT target based on MAKEVERBOSE's value.

This means that you can do:
	./build.sh -N 1 makewrapper

	$TOOLDIR/bin/nbmake-$MACHINE
	#  runs at MAKEVERBOSE==1, with command lines suppressed

	$TOOLDIR/bin/nbmake-$MACHINE MAKEVERBOSE=2
	#  runs at MAKEVERBOSE==2 for this invocation, with command lines shown
2003-10-26 02:17:46 +00:00
lukem
070871b5fc Implement build -N noisy, which sets MAKEVERBOSE to noisy and adds
`-s' to MAKEFLAGS for noisy < 2.
2003-10-25 03:46:09 +00:00
lukem
8a3d32e99e provide a %' for the non-root examples, as we show #' for the root prompt. 2003-09-29 07:55:17 +00:00
lukem
3af5adac38 fix description of MAKEOBJDIR. from Martin Husemann 2003-08-08 01:52:24 +00:00
lukem
13b0ffec63 Add build.sh -Z var, to unset a variable and ensure it's unset in makewrapper.
For -M MAKEOBJDIRPREFIX, unset MAKEOBJDIR.
For -O MAKEOBJDIR, unset MAKEOBJDIRPREFIX.
2003-07-29 10:07:15 +00:00
lukem
1313a78187 fix default location of TOOLDIR 2003-07-18 16:30:48 +00:00
lukem
6d22656bee Update for the MKUNPRIVED/MKUPDATE changes. 2003-07-18 08:38:10 +00:00
lukem
a5a6b5f67d fix warning found by new groff 2003-07-18 01:55:08 +00:00
lukem
0bd7fd87ac attempt to clarify how MAKEOBJDIR{,PREFIX} may be provided ...
(this document needs a rototill, which i may get to whilst writing a
paper about build.sh)
2003-07-03 05:52:47 +00:00
lukem
4e33a0f5d5 all:
*	add "releasekernel=conf", to install a gzipped copy of the kernels
	built by "kernel=conf" to RELEASEDIR/MACHINE/binary/kernel

build.sh:
    *	be more consistent in various status messages
    *	move the {release,}kernel=conf conf parsing code into getkernelconf()
	and use in both buildkernel() and releasekernel()
    *	only warn once when building multiple kernels without updating the tools
2003-05-25 12:34:27 +00:00
lukem
0c4720f396 For normal builds, MKOBJDIRS default to no' (not yes').
It's only build.sh that sets this to `yes' by default.
Noted by OGAWA Takaya in [toolchain/19823]
2003-05-18 11:18:02 +00:00
lukem
33018a010a improve description of how "build.sh -m mach" sets the default
MACHINE_ARCH, and list the special cases that this does not occur for.
2003-05-17 08:10:39 +00:00
lukem
40b7c46aca crank date for previous 2003-05-10 07:15:52 +00:00
lukem
b7d3d22051 Add "sourcesets" argument/target, which builds source sets into
RELEASEDIR/source/sets
2003-05-10 07:12:37 +00:00
lukem
ca2937cfe3 build.sh now provides defaults for DESTDIR and RELEASEDIR if not expert mode.
Remove -D and -R from EXAMPLES since they're not necessary any more.
2003-05-08 14:42:05 +00:00
lukem
d27e8bf371 Fix example 3; the build.sh target is "install" not "installworld".
Improve description.
Noted by Valeriy Ushakov (uwe@) in private email.
2003-02-08 10:00:33 +00:00
lukem
a2553ebbc2 attempt to further improve and clarify the examples... 2003-02-02 12:37:41 +00:00
lukem
34e5de7919 Prefix various paths with 'DESTDIR', to highlight that the DESTDIR
is taken into account.
2003-01-30 02:52:40 +00:00
lukem
6ac63dc2e0 allow toolprefix to be easily changed 2003-01-29 22:50:08 +00:00
lukem
fc4bd1a946 Various improvements per discussion with Alan Barrett. 2003-01-26 13:15:17 +00:00
lukem
4e91f80fa2 - Add "sets" top-level Makefile target and build.sh operation.
[Latter suggested by Julio Merino in private email]
- Add "help" build.sh operation.
2003-01-26 06:19:12 +00:00
lukem
46d44d89e9 Change build.sh so that at least one operation is required.
Add "makewrapper" operation to build.sh.
	[The above changes were suggested by Alan Barrett on current-users@]

Fail if building as non-root unless: UNPRIVED is set, -U is given, or -E
(expert mode) is given.
	[Suggested by James Wetterau in private email]

Improve the examples in BUILDING.
2003-01-26 05:34:32 +00:00
lukem
31b7057f61 Rework how build.sh functions, so that command line options set various
parameters, and a list of "operations" defines what to do.
The full usage is show below.  Notes:
	`-b' has been deprecated (it always occurs now)
	`-d' is replaced by "distribution"
	`-R rel' onlys sets RELEASEDIR; use "release" to build a release
	`-k kern' has been replaced by "kernel=kern"
	`-i idir' has been replaced by "install=idir"
	-r now occurs before nbmake is rebuilt

Add a copyright (long due!).  Rework the code to (a KNF inspired) ShellNF.
Use functions appropriately.  Allow `nb' prefix to be easily changed to
something else.  Solve world peace (just kidding)

This is part of the (never achievable) goal of attempting to make
NetBSD easier to build...


  --8<--  new usage follows  --8<--

Usage: build.sh [-EnorUu] [-a arch] [-B buildid] [-D dest] [-j njob] [-M obj]
		[-m mach] [-O obj] [-R release] [-T tools] [-V var=[value]]
		[-w wrapper]   [operation [...] ]

 System build operations (all imply "obj" and "tools"):
    build		Run "make build"
    distribution	Run "make distribution" (includes etc/ files)
    release		Run "make release" (includes kernels & distrib media)

 Other operations:
    obj			Run "make obj" (default unless -o)
    tools 		Build and install tools
    kernel=conf		Build kernel with config file `conf'
    install=idir	Run "make installworld" to `idir'
			(useful after 'distribution' or 'release')

 Options:
    -a arch	Set MACHINE_ARCH to arch (otherwise deduced from MACHINE)
    -B buildId	Set BUILDID to buildId
    -D dest	Set DESTDIR to dest
    -E		Set "expert" mode; disables some DESTDIR checks
    -j njob	Run up to njob jobs in parallel; see make(1)
    -M obj	Set obj root directory to obj (sets MAKEOBJDIRPREFIX)
    -m mach	Set MACHINE to mach (not required if NetBSD native)
    -n		Show commands that would be executed, but do not execute them
    -O obj	Set obj root directory to obj (sets a MAKEOBJDIR pattern)
    -o		Set MKOBJDIRS=no (do not create objdirs at start of build)
    -R release	Set RELEASEDIR to release
    -r		Remove contents of TOOLDIR and DESTDIR before building
    -T tools	Set TOOLDIR to tools.  If unset, and TOOLDIR is not set in
		the environment, nbmake will be (re)built unconditionally.
    -U		Set UNPRIVED
    -u		Set UPDATE
    -V v=[val]	Set variable `v' to `val'
    -w wrapper	Create nbmake script as wrapper
		(default: ${TOOLDIR}/bin/nbmake-${MACHINE})
2003-01-23 16:24:08 +00:00
lukem
a04634dbdf Add "-V var=[value]", for setting arbitrary variables which will also
be added to the nbmake-${MACHINE} wrapper.
Useful for setting RELEASEDIR, without -R's habit of building a release.
2003-01-04 12:55:32 +00:00
lukem
1c855902af Document:
*	build.sh -i idir
    *	top level targets:   distribution, buildworld, installworld
    *	top level variables: INSTALLWORLDDIR
2002-12-25 00:58:00 +00:00
wiz
67990135ee New sentence, new line; use Pa for paths. 2002-12-18 19:46:48 +00:00
lukem
239dc05c4f Add -E - "expert mode". If this is not specified, builds to DESTDIR=/ are
not permitted.
By using this flag, you are taking responsibility for any issues that
may occur because of this...
2002-12-08 22:14:00 +00:00
lukem
4f856ef51a - be consistent about option ordering in build.sh usage display
- use Fl and Ar instead of Sy and Em to format options
2002-12-08 08:42:51 +00:00
wiz
704158a9d5 Update location of BUILDING.mdoc. 2002-11-25 19:18:44 +00:00
lukem
da7aeb45e7 - Add support for ./build.sh -k kern, which configures and builds the named
kernel using the $TOOLDIR toolchain.  If kern doesn't contain `/', it will
  be searched for in ${KERNCONFDIR} (typically, sys/arch/${MACHINE}/conf).
- Improve ./build.sh usage.
- Add some examples to the documentation.

This is heavily based on [toolchain/18739] from Alan Barrett <apb@cequrux.com>,
with improvements by me.
2002-10-20 15:48:01 +00:00
lukem
d7d0f4149a move BUILDING.mdoc -> doc/BUILDING.mdoc 2002-09-21 08:19:27 +00:00