Module Name: src
Committed By: martin
Date: Mon Jan 2 10:11:24 UTC 2023
Modified Files:
src/usr.bin/make [netbsd-10]: make.1
Log Message:
Pull up following revision(s) (requested by rillig in ticket #31):
usr.bin/make/make.1: revision 1.351
usr.bin/make/make.1: revision 1.352
usr.bin/make/make.1: revision 1.353
usr.bin/make/make.1: revision 1.354
usr.bin/make/make.1: revision 1.355
usr.bin/make/make.1: revision 1.356
make.1: reduce indentation of the long list of variable names
make.1: move description of .MAKE.MODE below the .MAKE.META block
make.1: use consistent markup for boolean flags
make.1: sort list of built-in variables
make.1: sync list of built-in variables with reality
Fixes PR 57029.
make.1: fix markup
To generate a diff of this commit:
cvs rdiff -u -r1.350 -r1.350.2.1 src/usr.bin/make/make.1
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/make.1
diff -u src/usr.bin/make/make.1:1.350 src/usr.bin/make/make.1:1.350.2.1
--- src/usr.bin/make/make.1:1.350 Tue Nov 29 23:56:05 2022
+++ src/usr.bin/make/make.1 Mon Jan 2 10:11:24 2023
@@ -1,4 +1,4 @@
-.\" $NetBSD: make.1,v 1.350 2022/11/29 23:56:05 rillig Exp $
+.\" $NetBSD: make.1,v 1.350.2.1 2023/01/02 10:11:24 martin Exp $
.\"
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -841,7 +841,12 @@ and
In addition,
.Nm
sets or knows about the following variables:
-.Bl -tag -width .MAKEOVERRIDES
+.Bl -tag
+.\" NB: This list is sorted case-insensitive, ignoring punctuation.
+.\" NB: To find all built-in variables in make's source code,
+.\" NB: search for Var_*, Global_*, SetVarObjdir, GetBooleanExpr,
+.\" NB: and the implementation of Var_SetWithFlags.
+.\" NB: Last synced on 2023-01-01.
.It Va .ALLTARGETS
The list of all targets encountered in the makefiles.
If evaluated during makefile parsing,
@@ -853,28 +858,55 @@ was executed.
Refer to the description of
.Sq Va PWD
for more details.
+.It Va .ERROR_CMD
+Is used in error handling, see
+.Va MAKE_PRINT_VAR_ON_ERROR .
+.It Va .ERROR_CWD
+Is used in error handling, see
+.Va MAKE_PRINT_VAR_ON_ERROR .
+.It Va .ERROR_META_FILE
+Is used in error handling in
+.Dq meta
+mode, see
+.Va MAKE_PRINT_VAR_ON_ERROR .
+.It Va .ERROR_TARGET
+Is used in error handling, see
+.Va MAKE_PRINT_VAR_ON_ERROR .
.It Va .INCLUDEDFROMDIR
The directory of the file this makefile was included from.
.It Va .INCLUDEDFROMFILE
The filename of the file this makefile was included from.
+.\" .INCLUDES is intentionally undocumented, as it is obsolete.
+.\" .LIBS is intentionally undocumented, as it is obsolete.
+.It Va MACHINE
+The machine hardware name, see
+.Xr uname 1 .
+.It Va MACHINE_ARCH
+The machine processor architecture name, see
+.Xr uname 1 .
.It Va MAKE
The name that
.Nm
was executed with
.Pq Va argv[0] .
-For compatibility,
-.Nm
-also sets
-.Va .MAKE
-to the same value.
+.It Va .MAKE
+The same as
+.Va MAKE ,
+for compatibility.
The preferred variable to use is the environment variable
.Ev MAKE
because it is more compatible with other make variants
and cannot be confused with the special target with the same name.
+.\" '.MAKE.cmd_filtered' is intentionally undocumented,
+.\" as it is an internal implementation detail.
.It Va .MAKE.DEPENDFILE
Names the makefile (default
.Sq Pa .depend )
from which generated dependencies are read.
+.It Va .MAKE.DIE_QUIETLY
+If set to
+.Ql true ,
+do not print error information at the end.
.It Va .MAKE.EXPAND_VARIABLES
A boolean that controls the default behavior of the
.Fl V
@@ -886,10 +918,26 @@ include additional unexpanded variable r
.It Va .MAKE.EXPORTED
The list of variables exported by
.Nm .
-.It Va .MAKE.JOBS
-The argument to the
-.Fl j
-option.
+.It Va MAKEFILE
+The top-level makefile that is currently read,
+as given in the command line.
+.It Va .MAKEFLAGS
+The environment variable
+.Sq Ev MAKEFLAGS
+may contain anything that
+may be specified on
+.Nm Ns 's
+command line.
+Anything specified on
+.Nm Ns 's
+command line is appended to the
+.Va .MAKEFLAGS
+variable, which is then added to the environment for all programs that
+.Nm
+executes.
+.It Va .MAKE.GID
+The numeric group ID of the user running
+.Nm .
.It Va .MAKE.JOB.PREFIX
If
.Nm
@@ -909,25 +957,10 @@ to
would produce tokens like
.Dl ---make[1234] Ar target Li ---
making it easier to track the degree of parallelism being achieved.
-.It Va .MAKE.TARGET_LOCAL_VARIABLES
-If set to
-.Ql false ,
-apparent variable assignments in dependency lines are
-treated as normal sources.
-.It Va MAKEFLAGS
-The environment variable
-.Sq Ev MAKEFLAGS
-may contain anything that
-may be specified on
-.Nm Ns 's
-command line.
-Anything specified on
-.Nm Ns 's
-command line is appended to the
-.Va MAKEFLAGS
-variable, which is then added to the environment for all programs that
-.Nm
-executes.
+.It Va .MAKE.JOBS
+The argument to the
+.Fl j
+option.
.It Va .MAKE.LEVEL
The recursion depth of
.Nm .
@@ -938,6 +971,9 @@ This allows tests like:
.Li .if ${.MAKE.LEVEL} == 0
to protect things which should only be evaluated in the top-level instance of
.Nm .
+.It Va .MAKE.LEVEL.ENV
+The name of the environment variable that stores the level of nested calls to
+.Nm .
.It Va .MAKE.MAKEFILE_PREFERENCE
The ordered list of makefile names
(default
@@ -951,6 +987,55 @@ The list of makefiles read by
.Nm ,
which is useful for tracking dependencies.
Each makefile is recorded only once, regardless of the number of times read.
+.It Va .MAKE.META.BAILIWICK
+In
+.Dq meta
+mode, provides a list of prefixes which
+match the directories controlled by
+.Nm .
+If a file that was generated outside of
+.Va .OBJDIR
+but within said bailiwick is missing,
+the current target is considered out-of-date.
+.It Va .MAKE.META.CMP_FILTER
+In
+.Dq meta
+mode, it can (very rarely!) be useful to filter command
+lines before comparison.
+This variable can be set to a set of modifiers that are applied to
+each line of the old and new command that differ, if the filtered
+commands still differ, the target is considered out-of-date.
+.It Va .MAKE.META.CREATED
+In
+.Dq meta
+mode, this variable contains a list of all the meta files
+updated.
+If not empty, it can be used to trigger processing of
+.Va .MAKE.META.FILES .
+.It Va .MAKE.META.FILES
+In
+.Dq meta
+mode, this variable contains a list of all the meta files
+used (updated or not).
+This list can be used to process the meta files to extract dependency
+information.
+.It Va .MAKE.META.IGNORE_FILTER
+Provides a list of variable modifiers to apply to each pathname.
+Ignore if the expansion is an empty string.
+.It Va .MAKE.META.IGNORE_PATHS
+Provides a list of path prefixes that should be ignored;
+because the contents are expected to change over time.
+The default list includes:
+.Sq Pa /dev /etc /proc /tmp /var/run /var/tmp
+.It Va .MAKE.META.IGNORE_PATTERNS
+Provides a list of patterns to match against pathnames.
+Ignore any that match.
+.It Va .MAKE.META.PREFIX
+Defines the message printed for each meta file updated in
+.Dq meta verbose
+mode.
+The default value is:
+.Dl Building ${.TARGET:H:tA}/${.TARGET:T}
.It Va .MAKE.MODE
Processed after reading all makefiles.
Affects the mode that
@@ -985,17 +1070,17 @@ does not create
files in
.Sq Va .CURDIR .
This can be overridden by setting
-.Va bf
+.Ar bf
to a value which represents true.
.It Cm missing-meta= Ns Ar bf
If
-.Va bf
+.Ar bf
is true, a missing
.Pa .meta
file makes the target out-of-date.
.It Cm missing-filemon= Ns Ar bf
If
-.Va bf
+.Ar bf
is true, missing filemon data makes the target out-of-date.
.It Cm nofilemon
Do not use
@@ -1022,7 +1107,7 @@ See also
.Ic .NOMETA_CMP .
.It Cm silent= Ns Ar bf
If
-.Va bf
+.Ar bf
is true, when a .meta file is created, mark the target
.Ic .SILENT .
.It Cm randomize-targets
@@ -1030,55 +1115,19 @@ In both compat and parallel mode, do not
but instead randomize their order.
This mode can be used to detect undeclared dependencies between files.
.El
-.It Va .MAKE.META.BAILIWICK
-In
-.Dq meta
-mode, provides a list of prefixes which
-match the directories controlled by
-.Nm .
-If a file that was generated outside of
-.Va .OBJDIR
-but within said bailiwick is missing,
-the current target is considered out-of-date.
-.It Va .MAKE.META.CMP_FILTER
-In
-.Dq meta
-mode, it can (very rarely!) be useful to filter command
-lines before comparison.
-This variable can be set to a set of modifiers that are applied to
-each line of the old and new command that differ, if the filtered
-commands still differ, the target is considered out-of-date.
-.It Va .MAKE.META.CREATED
-In
-.Dq meta
-mode, this variable contains a list of all the meta files
-updated.
-If not empty, it can be used to trigger processing of
-.Va .MAKE.META.FILES .
-.It Va .MAKE.META.FILES
-In
-.Dq meta
-mode, this variable contains a list of all the meta files
-used (updated or not).
-This list can be used to process the meta files to extract dependency
-information.
-.It Va .MAKE.META.IGNORE_PATHS
-Provides a list of path prefixes that should be ignored;
-because the contents are expected to change over time.
-The default list includes:
-.Sq Pa /dev /etc /proc /tmp /var/run /var/tmp
-.It Va .MAKE.META.IGNORE_PATTERNS
-Provides a list of patterns to match against pathnames.
-Ignore any that match.
-.It Va .MAKE.META.IGNORE_FILTER
-Provides a list of variable modifiers to apply to each pathname.
-Ignore if the expansion is an empty string.
-.It Va .MAKE.META.PREFIX
-Defines the message printed for each meta file updated in
-.Dq meta verbose
-mode.
-The default value is:
-.Dl Building ${.TARGET:H:tA}/${.TARGET:T}
+.It Va MAKEOBJDIR
+Used to create files in a separate directory, see
+.Va .OBJDIR .
+.It Va MAKE_OBJDIR_CHECK_WRITABLE
+Used to force a separate directory for the created files,
+even if that directory is not writable, see
+.Va .OBJDIR .
+.It Va MAKEOBJDIRPREFIX
+Used to create files in a separate directory, see
+.Va .OBJDIR .
+.It Va .MAKE.OS
+The name of the operating system, see
+.Xr uname 1 .
.It Va .MAKEOVERRIDES
This variable is used to record the names of variables assigned to
on the command line, so that they may be exported as part of
@@ -1106,24 +1155,6 @@ The process ID of
.It Va .MAKE.PPID
The parent process ID of
.Nm .
-.It Va .MAKE.SAVE_DOLLARS
-If true,
-.Ql $$
-are preserved when doing
-.Ql :=
-assignments.
-The default is true, for compatibility with other makes.
-If set to false,
-.Ql $$
-becomes
-.Ql $
-per normal evaluation rules.
-.It Va .MAKE.UID
-The numeric ID of the user running
-.Nm .
-.It Va .MAKE.GID
-The numeric group ID of the user running
-.Nm .
.It Va MAKE_PRINT_VAR_ON_ERROR
When
.Nm
@@ -1145,6 +1176,35 @@ It then prints its name and the value of
.Sq Va .CURDIR
as well as the value of any variables named in
.Sq Va MAKE_PRINT_VAR_ON_ERROR .
+.It Va .MAKE.SAVE_DOLLARS
+If true,
+.Ql $$
+are preserved when doing
+.Ql :=
+assignments.
+The default is true, for compatibility with other makes.
+If set to false,
+.Ql $$
+becomes
+.Ql $
+per normal evaluation rules.
+.It Va .MAKE.TARGET_LOCAL_VARIABLES
+If set to
+.Ql false ,
+apparent variable assignments in dependency lines are
+treated as normal sources.
+.It Va .MAKE.UID
+The numeric ID of the user running
+.Nm .
+.\" 'MAKE_VERSION' is intentionally undocumented
+.\" since it is only defined in the bmake distribution,
+.\" but not in NetBSD's native make.
+.\" '.meta.%d.lcwd' is intentionally undocumented
+.\" since it is an internal implementation detail.
+.\" '.meta.%d.ldir' is intentionally undocumented
+.\" since it is an internal implementation detail.
+.\" 'MFLAGS' is intentionally undocumented
+.\" since it is obsolete.
.It Va .newline
This variable is simply assigned a newline character as its value.
This allows expansions using the
@@ -1227,6 +1287,12 @@ searches for files.
To update this search list, use the special target
.Sq Ic .PATH
rather than modifying the variable directly.
+.It Va %POSIX
+Is set in POSIX mode, see the special
+.Ql Va .POSIX
+target.
+.\" XXX: There is no make variable named 'PWD',
+.\" XXX: make only reads and writes the environment variable 'PWD'.
.It Va PWD
Alternate path to the current directory.
.Nm