aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-08-09 12:47:27 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-08-09 12:47:27 +0200
commit8150086c0ef168f48193ddc03b8c75e96e96d581 (patch)
tree9599cdd5f721a55841b2d9d2739f7d6ba5495070 /doc
parent67b36b32e19e17db9b1e5c72deb8db7202a0f41b (diff)
Add support for name patterns without wildcard characters
In particular, this allows the "if-exists" specification of prerequisites, for example: for t: $tests exe{$t}: cxx{$t} test{+$t}
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.cli20
1 files changed, 11 insertions, 9 deletions
diff --git a/doc/manual.cli b/doc/manual.cli
index eafe14d..713cd63 100644
--- a/doc/manual.cli
+++ b/doc/manual.cli
@@ -76,24 +76,26 @@ inclusion or exclusion if it starts with a literal, unquoted plus (\c{+}) or
minus (\c{-}) sign, respectively. In this case the remaining group values, if
any, must all be inclusions or exclusions. If the second value doesn't start
with a plus or minus, then all the group values are considered independent
-with leading pluses and minuses not having any special meaning. For
-regularity, the first pattern can also start with the plus sign. For example:
+with leading pluses and minuses not having any special meaning. For regularity
+as well as to allow patterns without wildcards, the first pattern can also
+start with the plus sign. For example:
\
-exe{hello}: cxx{f* -foo} # Exclude foo if present.
-exe{hello}: cxx{f* +foo} # Include foo if not present.
-exe{hello}: cxx{f* -fo?} # Exclude foo and fox if present.
-exe{hello}: cxx{f* +b* -foo -bar} # Exclude foo and bar if present.
+exe{hello}: cxx{f* -foo} # Exclude foo if exists.
+exe{hello}: cxx{f* +bar} # Include bar if exists.
+exe{hello}: cxx{f* -fo?} # Exclude foo and fox if exist.
+exe{hello}: cxx{f* +b* -foo -bar} # Exclude foo and bar if exist.
exe{hello}: cxx{+f* +b* -foo -bar} # Same as above.
+exe{hello}: cxx{+foo} # Pattern without wildcards.
exe{hello}: cxx{f* b* -z*} # Names matching three patterns.
\
Inclusions and exclusions are applied in the order specified and only to the
result produced up to that point. The order of names in the result is
-unspecified. However, it is guaranteed not to contain duplicates. The
+unspecified. However, it is guaranteed not to contain duplicates. The first
pattern and the following inclusions/exclusions must be consistent with
-regards to the type of filesystem entry they match. That is, they should
-all match either files or directories. For example:
+regards to the type of filesystem entry they match. That is, they should all
+match either files or directories. For example:
\
exe{hello}: cxx{f* -foo +*oo} # Exclusion has no effect.