From: Paul Smith Date: Sun, 5 Dec 2021 20:16:26 +0000 (-0500) Subject: * doc/make.text (Wildcards): Document that glob results are sorted. X-Git-Tag: 4.3.90~130 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=55b993ae09ad009c18e7097a78d3b868c16e15df;p=thirdparty%2Fmake.git * doc/make.text (Wildcards): Document that glob results are sorted. --- diff --git a/doc/make.texi b/doc/make.texi index 3dea24f1..a565bf19 100644 --- a/doc/make.texi +++ b/doc/make.texi @@ -2142,6 +2142,13 @@ The wildcard characters in @code{make} are @samp{*}, @samp{?} and specifies a list of all the files (in the working directory) whose names end in @samp{.c}.@refill +If an expression matches multiple files than the results will be +sorted.@footnote{Some older versions of GNU @code{make} did not sort the +results of wildcard expansion.} However multiple expressions will not be +globally sorted. For example, @file{*.c *.h} will list all the files whose +names end in @samp{.c}, sorted, followed by all the files whose names end in +@samp{.h}, sorted. + @cindex @code{~} (tilde) @cindex tilde (@code{~}) @cindex home directory @@ -2309,6 +2316,11 @@ function. Note that this is different from how unmatched wildcards behave in rules, where they are used verbatim rather than ignored (@pxref{Wildcard Pitfall}). +As with wildcard expansion in rules, the results of the @code{wildcard} +function are sorted. But again, each individual expression is sorted +separately, so @samp{$(wildcard *.c *.h)} will expand to all files matching +@samp{.c}, sorted, followed by all files matching @samp{.h}, sorted. + One use of the @code{wildcard} function is to get a list of all the C source files in a directory, like this: