aboutsummaryrefslogtreecommitdiff
path: root/doc/manual.cli
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-01-16 11:50:06 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-01-16 11:50:06 +0200
commit5d425b7578484e7feeaa94d419f5c4bb5ea28475 (patch)
tree73204539b5564cbaee2b5a70dc9f7f9e88048c4f /doc/manual.cli
parentd79f0a55705174156e9845dc53e7368a29986dce (diff)
Minor clarifications to wildcard name patterns section in manual
Diffstat (limited to 'doc/manual.cli')
-rw-r--r--doc/manual.cli23
1 files changed, 16 insertions, 7 deletions
diff --git a/doc/manual.cli b/doc/manual.cli
index 10ac392..179024a 100644
--- a/doc/manual.cli
+++ b/doc/manual.cli
@@ -5365,7 +5365,8 @@ Note that some wildcard characters may have special meaning in certain
contexts. For instance, \c{[} at the beginning of a value will be interpreted
as the start of the attribute list while \c{?} and \c{[} in the eval context
are part of the ternary operator and value subscript, respectively. In such
-cases the wildcard character will need to be escaped, for example:
+cases the character will need to be escaped in order to be treated as a
+wildcard, for example:
\
x = \[1-9]-foo.txt
@@ -5479,17 +5480,25 @@ exe{hello}: cxx{+{$inc} -{$exc}}
One common situation that calls for exclusions is auto-generated source
code. Let's say we have auto-generated command line parser in \c{options.hxx}
-and \c{options.cxx}. Because of the in-tree builds, our name pattern may or
-may not find these files. Note, however, that we cannot just include them as
-non-pattern prerequisites. We also have to exclude them from the pattern match
-since otherwise we may end up with duplicate prerequisites. As a result, this
-is how we have to handle this case provided we want to continue using patterns
-to find other, non-generated source files:
+and \c{options.cxx}. Because of the in/out of source builds, our name pattern
+may or may not find these files. Note, however, that we cannot just include
+them as non-pattern prerequisites. We also have to exclude them from the
+pattern match since otherwise we may end up with duplicate prerequisites. As a
+result, this is how we have to handle this case provided we want to continue
+using patterns to find other, non-generated source files:
\
exe{hello}: {hxx cxx}{* -options} {hxx cxx}{options}
\
+If all our auto-generated source files have a common prefix or suffix, then we
+can exclude them wholesale with a pattern. For example, if all our generated
+files end with the `-options` suffix:
+
+\
+exe{hello}: {hxx cxx}{** -**-options} {hxx cxx}{foo-options bar-options}
+\
+
If the name pattern includes an absolute directory, then the pattern match is
performed in that directory and the generated names include absolute
directories as well. Otherwise, the pattern match is performed in the