diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/make.texi | 54 |
1 files changed, 44 insertions, 10 deletions
diff --git a/doc/make.texi b/doc/make.texi index 0ecd35a..0b2ada9 100644 --- a/doc/make.texi +++ b/doc/make.texi @@ -1270,22 +1270,26 @@ variable definitions. @cindex makefiles, and special variables @cindex special variables -GNU @code{make} also supports a special variable. Note that any value -you assign to this variable will be ignored; it will always return its -special value. +GNU @code{make} also supports other special variables. Unless +otherwise documented here, these values lose their special properties +if they are set by a makefile or on the command line. + +@table @code @vindex $(.VARIABLES) @vindex .VARIABLES @r{(list of variables)} -The first special variable is @code{.VARIABLES}. When expanded, the -value consists of a list of the @emph{names} of all global variables -defined in all makefiles read up until that point. This includes -variables which have empty values, as well as built-in variables -(@pxref{Implicit Variables, , Variables Used by Implicit Rules}), but -does not include any variables which are only defined in a -target-specific context. +@item .VARIABLES +Expands to a list of the @emph{names} of all global variables defined +so far. This includes variables which have empty values, as well as +built-in variables (@pxref{Implicit Variables, , Variables Used by +Implicit Rules}), but does not include any variables which are only +defined in a target-specific context. Note that any value you assign +to this variable will be ignored; it will always return its special +value. @c @vindex $(.TARGETS) @c @vindex .TARGETS @r{(list of targets)} +@c @item .TARGETS @c The second special variable is @code{.TARGETS}. When expanded, the @c value consists of a list of all targets defined in all makefiles read @c up until that point. Note it's not enough for a file to be simply @@ -1294,6 +1298,36 @@ target-specific context. @c file must appear as a target, on the left-hand side of a ``:'', to be @c considered a target for the purposes of this variable. +@vindex $(.FEATURES) +@vindex .FEATURES @r{(list of supported features)} +@item .FEATURES +Expands to a list of special features supported by this version of +@code{make}. Possible values include: + +@table @samp +@item target-specific +Supports target-specific and pattern-specific variable assignments. +@xref{Target-specific, ,Target-specific Variable Values}. + +@item order-only +Supports order-only prerequisites. @xref{Prerequisite Types, ,Types +of Prerequisites}. + +@item second-expansion +Supports secondary expansion of prerequisite lists. + +@item jobserver +Supports ``job server'' enhanced parallel builds. @xref{Parallel, +,Parallel Execution}. + +@item check-symlink +Supports the @code{-L} (@code{--check-symlink-times}) flag. +@xref{Options Summary, ,Summary of Options}. + +@end table + +@end table + @node Remaking Makefiles, Overriding Makefiles, Special Variables, Makefiles @section How Makefiles Are Remade |