Commit Graph

160 Commits

Author SHA1 Message Date
lukem a9756fb69c BUILDING: list known mk.conf vars. tweak section headers
List known supported and obsolete mk.conf(5) variables,
so that searches in this document at least find them.
This partially reverts my revision 1.144 on 2023-06-12
which completely removed the duplication with mk.conf(5).

Remove quote characters from some section headings;
it makes it harder to search for a section by known name
when rendering in markup variations that use smart quotes.
2023-07-22 18:50:04 +00:00
lukem cc95aaefd7 BUILDING: clarify environ vs mk.conf behaviour
Document that variables set in the environment or the
nbmake-MACHINE wrapper script don't override variable
assignments in mk.conf(5), and that using ?= in mk.conf
allows environment / nbmake-MACHINE variables to override
mk.conf.

Consistently refer to "nbmake-MACHINE wrapper script".
2023-07-21 22:07:59 +00:00
lukem 747c3dee36 BUILDING: consistency fix 2023-07-19 15:40:38 +00:00
lukem 3cb563b335 build.sh: use mk.conf (if present) as MAKECONF
Set MAKECONF to mk.conf in the same directory as build.sh
(i.e., the top of the source tree) if mk.conf is present.
This means unprivileged users can benefit from mk.conf(5)
semantics without write privileges to /etc/mk.conf, and
also simplifies per-source-directory configuration.

Fail early if $MAKECONF is empty, since build.sh will fail
anyway after rebuilding nbmake.

Ensure that the computed MAKECONF isn't empty, and then
always set MAKECONF in the makewrapper (nbmake-$MACHINE).

Improve some formatting consistency in BUILDING.mdoc,
(even if BUILDING is generated without markup).
2023-07-18 16:59:57 +00:00
lukem 2b1fd0414c BUILDING: wording tweaks 2023-07-05 16:41:12 +00:00
lukem 6aba6b1625 BUILDING: remove duplication from mk.conf(5)
Remove all "make" variables / mk.conf(5) variables already documented
in mk.conf(5).  The duplication was a maintenance headache, as I've
experienced over recent weeks getting the build documentation up to
date.

Add notes clarifying that manual page references are to the NetBSD
manual pages, not to the host manual pages, and how to format from
source, or find online at https://man.netbsd.org.

Add explicit links to the mdoc(7) in-tree source for mk.conf(5),
hier(7), and release(7) because those are directly relevant to the host
build information in BUILDING.

Note: We don't normally need these notes for native documentation,
but BUILDING is intended for users on host systems which might not
be NetBSD(-current).

Add missing defaults.
2023-06-11 20:34:14 +00:00
lukem 3dd6409cfb BUILDING: update from mk.conf(5). reorder
Sync variable entries from mk.conf(5).

Merge the "make variables for full builds" section into the previous.
Having two separate sections and some entries duplicated was confusing
when searching for variables.
2023-06-11 10:49:43 +00:00
lukem 922f5e2588 more NBUILDJOBS deprecation
The NBUILDJOBS option was deprecated in 2002;
there's no need to keep warning about it,
remove from params / show-params,
and only document as obsolete.
2023-06-11 10:43:51 +00:00
lukem 5166ed0b68 BUILDING: editorial
MKX11=yes wants MKINET6=yes

Change the width of the variable lists to 14n (from 15n)
so that when the lists are rendered and then left aligned,
the column is 16 characters (aka 2 tabs) which makes
copypasta to bsd.README easier.
2023-06-05 22:36:17 +00:00
lukem f26a4cc930 BUILDING: update from canonical mk.conf(5)
Incorporate content and styles updates for mk.conf entries
from share/man/man5/mk.conf.5, which is the canonical
reference for mk.conf.

Add: BSDOBJDIR, BSDSRCDIR, EXTERNAL_TOOLCHAIN, MKDEBUGKERNEL,
MKDEBUGTOOLS, MKHTML, MKLINKLIB, MKOBJDIRS, TOOLCHAIN_MISSING,
NETBSDSRCDIR

It's for further study as to whether we just replace the
most of subsection "make" variables with a link to mk.conf(5).

Style:
- Add more .de macros per mk.conf.5.
- Order list items alphabetically. When multiple items are present
  in a list item, sort within the item first.
- More cross-references.
2023-06-04 20:08:21 +00:00
lukem 105457a1c4 build.sh: MAKECONF and mk.conf(5) improvements
Move MAKECONF to the Environment variables section.
Add mk.conf(5) cross-references.
Make Notes more obvious.
Fix mandoc lint.
2023-06-02 20:48:41 +00:00
lukem 23c02a696a BUILDING: TMPDIR must not be noexec
Describe $TMPDIR as used by build.sh, and
add a note that it can't be mounted noexec.

PR toolchain/44459
2023-05-18 14:22:53 +00:00
lukem 9d6c4a2602 build.sh, BUILDING: consistency improvements
Consistently use "show", instead of sometimes using "display" or "print".
Fix mdoc markup (even though BUILDING is raw text).
Document help, -P, -?
2023-05-16 21:39:26 +00:00
lukem b9abc1c511 BUILDING: update upstream, regen
doc/BUILDING.mdoc is the upstream for BUILDING, so add recent changes
in the latter to the former, formatting correctly.

Move INSTALLBOOT_UBOOT_PATHS to Environment variables.
Move INSTALLBOOT_BOARDS to "make" variables for full builds.
Add installboot(8) cross-reference.
2023-05-16 21:21:38 +00:00
rillig 899c3c9bdc fix documentation for MKLINT
Since share/mk/bsd.own.mk 1.749 from 2013-08-26, MKLINT defaults to no.
2022-10-01 08:55:45 +00:00
brook c5a23dac66 By default, do not install any bootable images.
The previous commit introduced the ability to install a set of
bootable images as a normal part of a release build.  While this made
it easy to install bootable images, the contents of a release build
depend on whether or not U-Boot packages are installed in /usr/pkgsrc,
which is the default location searched by installboot(8).

This commit requires users to explicitly list the bootable images to
be installed, which by default is none (i.e., prior behavior).
2022-08-22 16:50:25 +00:00
brook 99f61d3fde Create bootable images in ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.
Release builds for arm platforms create compressed images in
${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.  However, in some
cases, e.g., armv7.img.gz, they are not bootable.  Consequently, boot
blocks must be manually installed in the images, which is an extra
barrier for testing systems or adopting NetBSD.  This has prompted
creation of external repositories, e.g., armbsd.org, to host a
collection of bootable images.  However, this does not ease the burden
on developers compiling their own systems; for them, manual
installation of boot blocks is still required.

For arm platforms, etc/etc.evbarm/Makefile.inc contains the commands
used to create system images.  Because installboot(8) can write boot
blocks directly to system images, a loop through possible boards can
create a series of bootable images during the normal build process.

In the case of many arm platforms, installboot(8) uses U-Boot boot
blocks, which are not part of the NetBSD source code.  Developers can,
however, install as many U-Boot boot blocks as desired, either in the
default location of /usr/pkg/share/u-boot or in a set of directories
pointed to by the U-Boot search path, the INSTALLBOOT_UBOOT_PATHS
environment variable.  For each board with an available boot block, a
board-specific bootable image will be created in
${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.  If a boot block is
not available, which is the typical situation currently, no additional
image will be created.

This facility creates opportunities to build bootable images for any
number of boards within the scope of a standard release build.
However, that is not required and will not occur without the
intervention of installing U-Boot boot blocks prior to the build.
2022-08-21 15:01:08 +00:00
lukem b9cfee7c53 BUILDING: regen for removal of extsrc/ 2022-08-21 07:12:54 +00:00
andvar 7b29bb5990 s/knowlege/knowledge/ 2022-05-28 21:54:56 +00:00
christos 69f41f5953 Rename:
MKKDEBUG -> MKDEBUGKERNEL
    MKTOOLSDEBUG -> MKDEBUGTOOLS
while keeping compatibility with the old names. Add missing documentation.
Now all debugging tunables are prefixed with MKDEBUG.
2021-12-20 20:33:20 +00:00
kamil 994be4e978 Reintroduce the support of MKCATPAGES
Requested by <mrg>
2020-11-10 21:47:40 +00:00
kamil 4045d62396 Remove the support for MKCATPAGES
It was optional since 1999 and disabled by default since 2012.

Proposed on tech-userlevel@.
2020-11-08 14:52:35 +00:00
thorpej ee912053c1 Document CPUFLAGS here (it's already documented in share/mk/bsd.README).
This will address the initial concern in PR port-alpha/55545.
2020-10-13 01:59:32 +00:00
uwe 02b4a321b1 Mention HOST_CFLAGS and HOST_CXXFLAGS. 2020-10-12 21:14:36 +00:00
uwe c6ee822b87 Bump date and regen for BUILDING.mdoc revision 1.127
that introduced build.sh -c <compiler> option.
2020-10-12 21:05:54 +00:00
leot 666793fa92 Fix a typo
Reported by Tobias Ulmer via netbsd-docs@ ML, thanks!
2019-05-08 14:03:57 +00:00
sevan a95a2d429a regen 2018-07-29 20:53:41 +00:00
pgoyette f1de59e03f Re-add files that were accidentally deleted in my previous commit. 2018-05-02 07:34:44 +00:00
pgoyette 653cac4418 Synch with HEAD 2018-05-02 07:19:58 +00:00
leot ca9fe044f4 regen 2018-02-16 10:05:22 +00:00
sevan 18e05635b2 regen 2017-12-29 03:05:13 +00:00
sevan 0531f48056 regen 2017-10-21 23:49:28 +00:00
riastradh a444759d5c regen 2017-05-21 15:30:20 +00:00
plunky dfb2e3d51f regen 2017-04-22 07:48:33 +00:00
wiz c8a170c44c regen using regen target in doc. 2017-04-20 09:47:52 +00:00
ozaki-r 1300188462 Introduce MKSTRIPSYM build option
If it's yes, all local symbols of shared libraries are stripped
(default). If it's no, only temporary local symbols are stripped;
for example, symbols of static functions are kept. Keeping such
symbols is useful on using DTrace for userland libraries and
getting a backtrace from a rump server loading modules (shared
libraries).

Proposed and discussed on tech-kern and tech-toolchain
2017-04-20 09:29:10 +00:00
christos 15df1d3d0e regen 2017-02-20 21:28:48 +00:00
rin aaf544539d The default values for MKPIC are yes and no for sh3 and m68000, respectively.
Bump date.
2017-02-16 17:15:26 +00:00
wiz 630110fe35 Document MKREPRO_TIMESTAMP. 2016-01-29 13:51:13 +00:00
mrg cf4dd8937a remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)
2015-07-23 08:03:24 +00:00
pgoyette a2c252cf10 Update to reflect changes made in rev 1.398 of src/etc/Makefile 2015-06-07 05:32:38 +00:00
wiz 28264afcdd regen 2015-04-08 05:48:24 +00:00
uebayasi ef544d4ebb regen 2014-11-30 15:54:34 +00:00
uebayasi e049ec87a3 regen 2014-11-16 06:10:55 +00:00
uebayasi 4595288418 regen 2014-11-16 05:45:43 +00:00
apb 7fa35347f7 regen from doc/BUILDING.mdoc revision 1.107.
This reinstates documentation for "extsrc" which was lost in 2009.
2014-11-13 08:42:35 +00:00
snj 1ead4f1a39 fourth time's the charm, i guess. when committing a generated file,
it's best to use the latest revision of the source file (hi uebs!)

regen to include changes from revision 1.105 of doc/BUILDING.mdoc
2014-11-08 04:23:00 +00:00
uebayasi 3bf26c7470 regen 2014-11-06 06:42:25 +00:00
uebayasi 349ae6995d Expand TABs. 2014-11-06 03:50:13 +00:00
uebayasi 0284960983 Document the new "kernels" operation, prompted by joerg@. 2014-11-06 03:34:11 +00:00