Module Name:    src
Committed By:   lukem
Date:           Sun Jun 11 10:44:33 UTC 2023

Modified Files:
        src/share/man/man5: mk.conf.5

Log Message:
mk.conf(5): add remaining vars from BUILDING

Add more variables from BUILDING:
        INSTALLBOOT_BOARDS INSTALLWORLDDIR NOCLEANDIR
        NODISTRIBDIRS NOINCLUDES.

Add build.sh related notes (from BUILDING).

Clarify "target" as "target architecture" where appropriate
(versus a make target where that's obvious from context.)

Move all obsolete and deprecated variables to
new "OBSOLETE VARIABLES" section at the end.

Add some per-variable editorial improvements from BUILDING.

Change sub headings to headings; it's easier to read.
(I don't know why mdoc doesn't allow blank lines around .Ss)


To generate a diff of this commit:
cvs rdiff -u -r1.101 -r1.102 src/share/man/man5/mk.conf.5

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man5/mk.conf.5
diff -u src/share/man/man5/mk.conf.5:1.101 src/share/man/man5/mk.conf.5:1.102
--- src/share/man/man5/mk.conf.5:1.101	Mon Jun  5 22:35:20 2023
+++ src/share/man/man5/mk.conf.5	Sun Jun 11 10:44:33 2023
@@ -1,4 +1,4 @@
-.\"	$NetBSD: mk.conf.5,v 1.101 2023/06/05 22:35:20 lukem Exp $
+.\"	$NetBSD: mk.conf.5,v 1.102 2023/06/11 10:44:33 lukem Exp $
 .\"
 .\"  Copyright (c) 1999-2023 The NetBSD Foundation, Inc.
 .\"  All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 5, 2023
+.Dd June 11, 2023
 .Dt MK.CONF 5
 .Os
 .\" turn off hyphenation
@@ -41,14 +41,20 @@
 The
 .Nm
 file overrides various parameters used during the build of the system.
-.Pp
+.
+.Sh NETBSD SYSTEM VARIABLES
+.
 Listed below are the
 .Nm
-variables that may be set, the values to which each may be set,
-a brief description of what each variable does, and a reference to
-relevant manual pages.
-.
-.Ss NetBSD System variables
+variables that may be set that affect the
+.Nx NetBSD
+system build,
+the values to which each may be set,
+a brief description of what each variable does,
+references to relevant manual pages,
+notes (including any interaction with
+.Sy build.sh ) ,
+and the default value of each variable.
 .
 .de DFLT
 .Pp
@@ -190,12 +196,15 @@ should never be set in
 .Nm .
 .
 .It Sy CPUFLAGS
-Additional flags passed to the compiler/assembler to select
+Additional options passed to the compiler/assembler to select
 CPU instruction set options, CPU tuning options, etc.
+.Pp
+.Em Note :
 Such options should not be specified in
 .Sy COPTS ,
 because some parts of the build process need to override
 CPU-related compiler options.
+.DFLTu
 .
 .It Sy DESTDIR
 Directory to contain the built
@@ -205,13 +214,15 @@ If set, special options are passed to th
 prevent their default use of the host system's
 .Sy /usr/include , /usr/lib ,
 and so forth.
-This pathname should
+This pathname must be an absolute path, and should
 .Em not
 end with a slash
 .Pq /
-character (for installation into the system's root directory, set
+character.
+(For installation into the system's root directory, set
 .Sy DESTDIR
-to an empty string).
+to an empty string, not to
+.Dq / ) .
 The directory must reside on a file system which supports long file
 names and hard links.
 .Pp
@@ -223,7 +234,7 @@ will provide a default of
 .Sy .OBJDIR )
 unless run in
 .Sq expert
-mode
+mode.
 .DFLT
 Empty string if
 .Sy USETOOLS=yes ;
@@ -257,8 +268,27 @@ Expect the exact semantics of this varia
 term as parts of the cross-compile framework continue to be cleaned up.
 .DFLTu
 .
-.It Sy EXTSRCSRCDIR
-Obsolete.
+.It Sy INSTALLBOOT_BOARDS
+A list of
+.Sy evbarm
+boards to create bootable images for.
+If corresponding U-Boot packages are installed,
+bootable images are created as part of a release.
+See the
+.Bk -words
+.Fl o Sy board= Ns Ar name
+.Ek
+option of
+.Xr installboot 8 .
+.DFLTu
+.
+.It Sy INSTALLWORLDDIR
+Location for the top-level
+.Dq make installworld
+target to install to.
+If specified, must be an absolute path.
+.DFLT
+.Dq /
 .
 .It Sy KERNEL_DIR Pq No experimental
 .YorN
@@ -303,17 +333,17 @@ are shown.
 Brief messages are shown describing what is being done,
 but the actual commands executed by
 .Xr make 1
-are not displayed.
+are not shown.
 .It 2
 Descriptive messages are shown as above (prefixed with a
 .Sq # ) ,
 and ordinary commands performed by
 .Xr make 1
-are displayed.
+are shown.
 .It 3
 In addition to the above, all commands performed by
 .Xr make 1
-are displayed, even if they would ordinarily have been hidden
+are shown, even if they would ordinarily have been hidden
 through use of the
 .Dq \&@
 prefix in the relevant makefile.
@@ -371,10 +401,6 @@ as the tests rely on ATF and cannot be b
 .NOVAR MKCXX=no
 .DFLTy
 .
-.It Sy MKBFD
-Obsolete, use
-.Sy MKBINUTILS .
-.
 .It Sy MKBINUTILS
 .YorN
 Indicates whether any of the binutils tools or libraries
@@ -533,9 +559,6 @@ is compiled with support for
 Create a cross-gdb as a host tool.
 .DFLTn
 .
-.It Sy MKCRYPTO
-Obsolete.
-.
 .It Sy MKCTF
 .YorN
 Indicates whether CTF tools are to be built and installed.
@@ -700,9 +723,6 @@ on
 .Dq yes
 on other platforms.
 .
-.It Sy MKEXTSRC
-Obsolete.
-.
 .It Sy MKFIRMWARE
 .YorN
 Indicates whether to install the
@@ -819,11 +839,12 @@ will be suffixed to the name of the obje
 .Dq make obj .
 (This allows multiple host systems to compile
 .Nx
-for a single target.)
+for a single target architecture.)
 If
 .Dq no ,
 then programs built to be run on the compile host will use the same
-object directory names as programs built to be run on the target.
+object directory names as programs built to be run on the target
+architecture.
 .DFLTn
 .
 .It Sy MKHTML
@@ -878,10 +899,6 @@ on
 .Dq yes
 on other platforms.
 .
-.It Sy MKKDEBUG
-Deprecated, use
-.Sy MKDEBUGKERNEL .
-.
 .It Sy MKKERBEROS
 .YorN
 Indicates whether the Kerberos v5 infrastructure
@@ -897,9 +914,6 @@ files or disabling PAM via
 Otherwise all logins will fail.
 .DFLTy
 .
-.It Sy MKKERBEROS4
-Obsolete.
-.
 .It Sy MKKMOD
 .YorN
 Indicates whether kernel modules will be built and installed.
@@ -1009,12 +1023,6 @@ installed into
 .NOVAR MKLINKLIB=no
 .DFLTn
 .
-.It Sy MKLLD
-Obsolete.
-.
-.It Sy MKLLDB
-Obsolete.
-.
 .It Sy MKLLVM
 .YorN
 Indicates whether
@@ -1115,9 +1123,6 @@ Only used if
 .Sy MKMAN=yes .
 .DFLTn
 .
-.It Sy MKMCLINKER
-Obsolete.
-.
 .It Sy MKMDNS
 .YorN
 Indicates whether the mDNS (Multicast DNS) infrastructure
@@ -1188,6 +1193,19 @@ Indicates whether object directories wil
 .Dq make obj
 pass) at the start of a build.
 .NOVAR MKOBJ=no
+.Pp
+.Em Note :
+If using
+.Sy build.sh ,
+the default is
+.Dq yes .
+This may be set back to
+.Dq no
+by giving
+.Sy build.sh
+the
+.Fl o
+option.
 .DFLTn
 .
 .It Sy MKPAM
@@ -1207,9 +1225,6 @@ or any related libraries
 will be built and installed.
 .DFLTn
 .
-.It Sy MKPERFUSE
-Obsolete.
-.
 .It Sy MKPF
 .YorN
 Indicates whether the
@@ -1373,6 +1388,15 @@ results.
 .Pp
 Used as the default for
 .Sy MKARZERO .
+.Pp
+.Em Note :
+This may be set to
+.Dq yes
+by giving
+.Sy build.sh
+the
+.Fl P
+option.
 .DFLTn
 .
 .It Sy MKREPRO_TIMESTAMP
@@ -1381,6 +1405,16 @@ When
 .Sy MKREPRO
 is set, the timestamp of all files in the sets will be set
 to this value.
+.Pp
+.Em Note :
+This may be set automatically to the latest source tree timestamp
+using
+.Xr cvslatest 1
+by giving
+.Sy build.sh
+the
+.Fl P
+option.
 .DFLTu
 .
 .It Sy MKRUMP
@@ -1519,10 +1553,6 @@ on
 .Dq no
 on other platforms.
 .
-.It Sy MKTOOLSDEBUG
-Deprecated, use
-.Sy MKDEBUGTOOLS .
-.
 .It Sy MKTPM
 .YorN
 Indicates whether to install the Trusted Platform Module (TPM)
@@ -1545,10 +1575,10 @@ a file called
 .Pa METALOG
 in
 .Sy DESTDIR .
-The contents of
+The
 .Pa METALOG
-is used during the generation of the distribution tar files to ensure
-that the appropriate file ownership is stored.
+contents are used during the generation of the distribution
+tar files to ensure that the appropriate file ownership is stored.
 This allows a non-root
 .Sq "make install" .
 .DFLTn
@@ -1559,6 +1589,19 @@ Indicates whether all install operations
 .Sy DESTDIR
 will compare file timestamps before installing, and skip the install
 phase if the destination files are up-to-date.
+.Pp
+For top-level builds this this implies the effects of
+.Sy NOCLEANDIR
+(i.e.,
+.Dq make cleandir
+is avoided).
+.Pp
+.Em Note :
+If using
+.Sy build.sh ,
+this may be set by giving the
+.Fl u
+option.
 .DFLTn
 .
 .It Sy MKX11
@@ -1694,6 +1737,47 @@ builds from real releases.
 .DFLTu
 .Pq Dq no .
 .
+.It Sy NOCLEANDIR
+If set, avoids the
+.Dq make cleandir
+phase of a full build.
+This has the effect of allowing only changed
+files in a source tree to be recompiled.
+This can speed up builds when updating only a few files in the tree.
+.Pp
+See also
+.Sy MKUPDATE .
+.DFLTu
+.
+.It Sy NODISTRIBDIRS
+If set, avoids the
+.Dq make distrib-dirs
+phase of a full build.
+This skips running
+.Xr mtree 8
+on
+.Sy DESTDIR ,
+useful on systems where building as an unprivileged user, or where it is
+known that the system-wide
+.Xr mtree 8
+files have not changed.
+.DFLTu
+.
+.It Sy NOINCLUDES
+If set, avoids the
+.Dq make includes
+phase of a full build.
+This has the effect of preventing
+.Xr make 1
+from thinking that some programs are out-of-date simply because the
+system include files have changed.
+However, this option should not be used when updating the entire
+.Nx
+source tree arbitrarily; it is suggested to use
+.Sy MKUPDATE=yes
+instead in that case.
+.DFLTu
+.
 .It Sy OBJMACHINE
 If defined, creates objdirs of the form
 .Pa obj . Ns Sy MACHINE ,
@@ -1707,6 +1791,7 @@ If set, specifies the directory to which
 .Xr release 7
 layout will be written at the end of a
 .Dq make release .
+If specified, must be an absolute path.
 .Pp
 .Em Note :
 .Sy build.sh
@@ -1719,9 +1804,6 @@ unless run in
 mode.
 .DFLTu
 .
-.It Sy SHAREDSTRINGS
-Obsolete.
-.
 .It Sy TOOLCHAIN_MISSING
 .YorN
 If not
@@ -1739,12 +1821,13 @@ acts as
 .
 .It Sy TOOLDIR
 Directory to hold the host tools, once built.
+If specified, must be an absolute path.
 This directory should be unique to a given host system and
 .Nx
 source tree.
-(However, multiple targets may share the same
+(However, multiple target architectures may share the same
 .Sy TOOLDIR ;
-the target-dependent files have unique names.)
+the target-architecture-dependent files have unique names.)
 If unset, a default based
 on the
 .Xr uname 1
@@ -1796,9 +1879,6 @@ source tree (detected automatically) or 
 .Dq yes
 otherwise.
 .
-.It Sy USE_COMBINE
-Obsolete.
-.
 .It Sy USE_FORT
 .YorN
 Indicates whether the so-called
@@ -2018,7 +2098,7 @@ if that exists; otherwise
 .
 .El
 .
-.Ss pkgsrc system variables
+.Sh PKGSRC SYSTEM VARIABLES
 .
 Please see the pkgsrc guide at
 .Lk http://www.netbsd.org/Documentation/pkgsrc/
@@ -2028,11 +2108,80 @@ for more variables used internally by th
 .Pa ${PKGSRCDIR}/mk/defaults/mk.conf
 for package-specific examples.
 .
+.Sh OBSOLETE VARIABLES
+.
+These variables are obsolete.
+.
+.Bl -tag -width 14n
+.
+.\" These entries are sorted alphabetically.
+.
+.It Sy EXTSRCSRCDIR
+Obsolete.
+.
+.It Sy MKBFD
+Use
+.Sy MKBINUTILS .
+.
+.It Sy MKCRYPTO
+Obsolete.
+.
+.It Sy MKEXTSRC
+Obsolete.
+.
+.It Sy MKKERBEROS4
+Obsolete.
+.
+.It Sy MKKDEBUG
+Use
+.Sy MKDEBUGKERNEL .
+.
+.It Sy MKLLD
+Obsolete.
+.
+.It Sy MKLLDB
+Obsolete.
+.
+.It Sy MKMCLINKER
+Obsolete.
+.
+.It Sy MKPERFUSE
+Obsolete.
+.
+.It Sy MKTOOLSDEBUG
+Use
+.Sy MKDEBUGTOOLS .
+.
+.It Sy NBUILDJOBS
+Use the
+.Nm build.sh
+and
+.Xr make 1
+option
+.Fl j
+instead.
+.
+.It Sy SHAREDSTRINGS
+Obsolete.
+.
+.It Sy USE_COMBINE
+Obsolete.
+.
+.It Sy USE_NEW_TOOLCHAIN
+The new toolchain is now the default.
+To disable, use
+.Sy TOOLCHAIN_MISSING=yes .
+.
+.El
+.
 .Sh FILES
 .Bl -tag -width /etc/mk.conf
 .
 .It Pa /etc/mk.conf
-This file.
+The
+.Nm
+file resides in
+.Pa /etc .
 .
 .It Pa ${PKGSRCDIR}/mk/defaults/mk.conf
 Examples for settings regarding the pkgsrc collection.
@@ -2046,6 +2195,7 @@ Examples for settings regarding the pkgs
 .Xr clang++ 1 ,
 .Xr cpio 1 ,
 .Xr cvs 1 ,
+.Xr cvslatest 1 ,
 .Xr dtrace 1 ,
 .Xr g++ 1 ,
 .Xr gcc 1 ,
@@ -2096,12 +2246,15 @@ Examples for settings regarding the pkgs
 .Xr Xorg 7 ,
 .Xr dbsym 8 ,
 .Xr getNAME 8 ,
+.Xr installboot 8 ,
 .Xr makemandb 8 ,
 .Xr makewhatis 8 ,
 .Xr mdsetimage 8 ,
+.Xr mtree 8 ,
 .Xr pam 8 ,
 .Xr unbound 8 ,
 .Pa /usr/share/mk/bsd.README ,
+.Pa src/BUILDING ,
 .Pa pkgsrc/doc/pkgsrc.txt ,
 .Lk http://www.netbsd.org/Documentation/pkgsrc/
 .Sh HISTORY

Reply via email to