Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/mk bsd.README: update to reality, sync from mk.conf(5)
details: https://anonhg.NetBSD.org/src/rev/1b5014546b5c
branches: trunk
changeset: 376244:1b5014546b5c
user: lukem <lukem%NetBSD.org@localhost>
date: Mon Jun 05 22:36:58 2023 +0000
description:
bsd.README: update to reality, sync from mk.conf(5)
Sync user variables from mk.conf(5), sorted.
(Arguably this could just refer to mk.conf(5)
or share/man/man5/mk.conf.5 and remove the copypasta.)
Document NOxxx overrides in own subsection.
Unexpand tabs, tweak after.
diffstat:
share/mk/bsd.README | 1729 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 1169 insertions(+), 560 deletions(-)
diffs (truncated from 1915 to 300 lines):
diff -r 8c0eb53fb268 -r 1b5014546b5c share/mk/bsd.README
--- a/share/mk/bsd.README Mon Jun 05 22:36:17 2023 +0000
+++ b/share/mk/bsd.README Mon Jun 05 22:36:58 2023 +0000
@@ -1,11 +1,14 @@
-# $NetBSD: bsd.README,v 1.443 2023/05/24 10:07:16 lukem Exp $
+# $NetBSD: bsd.README,v 1.444 2023/06/05 22:36:58 lukem Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
source tree. The files are installed in /usr/share/mk, and are,
by convention, named with the suffix ".mk".
-Note, this file is not intended to replace reading through the .mk
+Other sources of relevant documentation are BUILDING in the top
+level of the NetBSD source tree, and the mk.conf(5) man page.
+
+Note: this file is not intended to replace reading through the .mk
files for anything tricky.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@@ -66,32 +69,35 @@ and are tested with ${VAR} == "no" and
The basic rule for the variable naming scheme is as follows:
-HOST_xxx A command that runs on the host machine regardless of
+HOST_<cmd> A command that runs on the host machine regardless of
whether or not the system is being cross compiled, or
flags for such a command.
-MKxxx Can be set to "no" to disable functionality, or
- "yes" to enable it.
+MK<feature> Can be set to "no" to disable feature <feature>,
+ or "yes" to enable feature <feature>.
Usually defaults to "yes", although some variables
default to "no".
Due to make(1) implementation issues, if a temporary
command-line override of a mk.conf(5) or <bsd.own.mk>
setting is required whilst still honoring a particular
- Makefile's setting of MKxxx, use
- env MKxxx=value make
+ Makefile's setting of MK<feature>, use
+ env MK<feature>=value make
instead of
- make MKxxx=value
-
-NOxxx If defined, disables a feature.
+ make MK<feature>=value
+
+NO<feature> If defined, disables feature <feature>, overriding
+ a user's MK<feature>=yes configuration.
Not intended for users.
This is to allow Makefiles to disable functionality
that they don't support (such as missing man pages).
- NOxxx variables must be defined before <bsd.own.mk>
- is included.
-
-TOOL_xxx A tool that is provided as part of the USETOOLS
+ NO<feature> variables must be defined before <bsd.own.mk>
+ is included, which generally means define before
+ any <*.mk> is included.
+ See "Variables for a Makefile".
+
+TOOL_<tool> A tool that is provided as part of the USETOOLS
framework. When not using the USETOOLS framework,
- TOOL_xxx variables should refer to tools that are
+ TOOL_<tool> variables should refer to tools that are
already installed on the host system.
The following variables control how things are made/installed that
@@ -99,530 +105,1094 @@ are not set by default. These should not
the user to define in MAKECONF (see <bsd.own.mk>, below, or mk.conf(5))
or on the make(1) command line:
-BUILD If defined, 'make install' checks that the targets in the
- source directories are up-to-date and remakes them if they
- are out of date, instead of blindly trying to install
- out of date or non-existent targets.
-
-MAKEVERBOSE Control how "verbose" the standard make(1) rules are.
+BUILD If defined, 'make install' checks that the targets in the
+ source directories are up-to-date and re-makes them if
+ they are out of date, instead of blindly trying to
+ install out of date or non-existent targets.
+
+ Default: Unset.
+
+BUILDID Identifier for the build. If set, this should be a short
+ string that is suitable for use as part of a file or
+ directory name. The identifier will be appended to
+ object directory names, and can be consulted in the
+ make(1) configuration file in order to set additional
+ build parameters, such as compiler flags. It will also
+ be used as part of the kernel version string, which can
+ be shown by "uname -v".
+
+ Default: Unset.
+
+BUILDINFO Optional multi-line string containing information about
+ the build. This will appear in DESTDIR/etc/release, and
+ it will be stored in the buildinfo variable in any
+ kernels that are built. When such kernels are booted,
+ the sysctl(7) kern.buildinfo variable will report this
+ value. The string may contain backslash escape
+ sequences, such as "\\" (representing a backslash
+ character) and "\n" (representing a newline).
+
+ Default: Unset.
+
+BUILDSEED g++(1) uses random numbers when compiling C++ code. This
+ variable seeds the g++(1) random number generator using
+ -frandom-seed with this value. By default, it is set to
+ "NetBSD-(majorversion)". Using a fixed value causes C++
+ binaries to be the same when built from the same sources,
+ resulting in identical (reproducible) builds. Additional
+ information is available in the g++(1) documentation of
+ -frandom-seed.
+
+ Default: Unset.
+
+MAKEVERBOSE Level of verbosity of status messages. Supported values:
+
+ 0 No descriptive messages or commands executed by
+ make(1) are shown.
+
+ 1 Brief messages are shown describing what is being
+ done, but the actual commands executed by make(1) are
+ not displayed.
+
+ 2 Descriptive messages are shown as above (prefixed
+ with a `#'), and ordinary commands performed by
+ make(1) are displayed.
+
+ 3 In addition to the above, all commands performed by
+ make(1) are displayed, even if they would ordinarily
+ have been hidden through use of the "@" prefix in the
+ relevant makefile.
+
+ 4 In addition to the above, commands executed by
+ make(1) are traced through use of the sh(1) "-x"
+ flag.
+
Default: 2
- Supported values:
- 0 Minimal output ("quiet")
- 1 Describe what is occurring
- 2 Describe what is occurring and echo the actual command
- 3 Ignore the effect of the "@" prefix in make commands
- 4 Trace shell commands using the shell's -x flag
-
-MKARGON2 If "no", don't build support for Argon2 into libcrypt.
- Default: yes
-
-MKATF If "no", don't build the Automated Testing Framework (ATF),
- which includes the libatf-c, libatf-c++ and libatf-sh libraries
- and the various command line tools. Also, because the build of
- the libraries is disabled, don't build the NetBSD test suite
- either.
- Default: yes
-
-MKBFD Obsolete, use MKBINUTILS
-
-MKBINUTILS If "no", don't build binutils (gas, ld, etc and libbfd,
- libopcodes)
- Default: yes
-
-MKBSDTAR If "yes", use the libarchive based cpio and tar instead of
- the pax frontends.
- Default: yes
-
-MKCATPAGES If "no", don't build or install the catman pages.
- Default: no
-
-MKCOMPAT If "no", don't build or install the src/compat.
- Default: yes on amd64, mips64 and sparc64, no elsewhere.
-
-MKCOMPATTESTS If "yes", build and install the NetBSD test suite when
- building and installing src/compat.
- Default: no
-
-MKCOMPATX11 If "yes", build and install the X11 libraries when
- building and installing src/compat.
- Default: no
-
-MKCOMPATMODULES If "no", don't build compat modules (xen, etc.)
- Default: yes
-
-MKCOMPLEX If "no", don't build libm support for <complex.h>
- Default: yes
-
-MKCTF If "no", do not build and install CTF tools, and also
- don't generate and manipulate CTF data of ELF binaries
- during build.
- Default: no
-
-NETBSD_OFFICIAL_RELEASE
- If defined and set to "yes", the build targets an official
- NetBSD release which is going to be available from
- ftp.NetBSD.org / cdn.NetBSD.org. This modifies a few
- default paths in the installer and also creates different
- links in the install documentation.
- The auto-build cluster uses this variable to distinguish
- "daily" builds from real releases.
- Default: undefined (no)
-
-NOCTF Don't generate and manipulate CTF data of ELF binaries
- during build. It is set internally for standalone programs.
-
-MKCVS If "no", don't build or install cvs(1).
- Default: yes
-
-MKDEBUG If "no", don't build and install separate debugging symbols
- into /usr/libdata/debug.
- Default: no
-
-NODEBUG Don't compile with debugging symbols during build.
- It is set internally for standalone programs.
-
-MKDEBUGLIB Build *_g.a debugging libraries, which are compiled
- with -DDEBUG.
- Default: no
-
-MKDEBUGKERNEL If "yes", force building of kernel symbol info and creation
- of netbsd.gdb in all kernel builds, independently of the
- settings for "makeoptions DEBUG" in the kernel config file.
- The .gdb kernels will be included with the kernel sets.
- Default: no
-
-MKDEBUGTOOLS If "yes" build the tools with debugging symbols.
- Default: no
-
-MKDEPINCLUDES If "yes" issue .include statements in the .depend file
- instead of inlining the contents of the .d files. Useful
+
+MKAMDGPUFIRMWARE
+ Can be set to "yes" or "no". Indicates whether to
+ install the /libdata/firmware/amdgpu directory, which is
+ necessary for the amdgpu(4) AMD RADEON GPU video driver.
+
+ Default: "yes" on i386 and x86_64; "no" on other
+ platforms.
+
+MKARGON2 Can be set to "yes" or "no". Indicates whether the
+ Argon2 hash is enabled in libcrypt.
+
+ Default: "yes"
+
+MKARZERO Can be set to "yes" or "no". Indicates whether ar(1)
+ should zero the timestamp, uid, and gid in the archive
+ for reproducible builds.
+
+ Default: The value of MKREPRO (if defined), otherwise
+ "no".
+
+MKATF Can be set to "yes" or "no". Indicates whether the
+ Automated Testing Framework (ATF) will be built and
+ installed. This also controls whether the NetBSD test
+ suite will be built and installed, as the tests rely on
+ ATF and cannot be built without it.
+
+ Forced to "no" if MKCXX=no.
+
+ Default: "yes"
+
+MKBFD Obsolete, use MKBINUTILS.
+
+MKBINUTILS Can be set to "yes" or "no". Indicates whether any of
+ the binutils tools or libraries will be built and
+ installed. That is, the libraries libbfd, libiberty, or
+ any of the things that depend upon them, e.g. as(1),
+ ld(1), dbsym(8), or mdsetimage(8).
+
+ Forced to "no" if TOOLCHAIN_MISSING!=no.
+
+ Default: "yes"
+
+MKBSDGREP Can be set to "yes" or "no". Determines which
+ implementation of grep(1) will be built and installed.
+ If "yes", use the BSD implementation. If "no", use the
+ GNU implementation.
+
+ Default: "no"
+
+MKBSDTAR Can be set to "yes" or "no". Determines which
+ implementation of cpio(1) and tar(1) will be built and
+ installed. If "yes", use the libarchive-based
+ implementations. If "no", use the pax(1) based
+ implementations.
+
+ Default: "yes"
+
+MKCATPAGES Can be set to "yes" or "no". Indicates whether
+ preformatted plaintext manual pages will be created and
+ installed.
+
+ Forced to "no" if MKMAN=no or MKSHARE=no.
+
+ Default: "no"
+
+MKCLEANSRC Can be set to "yes" or "no". Indicates whether `make
+ clean' and `make cleandir' will delete file names in
Home |
Main Index |
Thread Index |
Old Index