From 2b1272f1c94ab1dbaf806af9c02ef866267ffed7 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 9 May 2019 14:12:45 +0200 Subject: Generalize target/prerequisite var block, initial ad hoc target work Target/prerequisite-specific variable blocks can now be present even if there are prerequisites. For example, now instead of: exe{foo}: cxx{foo} exe{foo}: cc.loptions += ... Or: exe{foo}: cxx{foo} exe{foo}: { cc.loptions += ... cc.libs += ... } We can write: exe{foo}: cxx{foo} { cc.loptions += ... cc.libs += ... } This also works with dependency chains in which case the block applies to the set of prerequisites (note: not targets) before the last ':'. For example: ./: exe{foo}: libue{foo}: cxx{foo} { bin.whole = false # Applies to the libue{foo} prerequisite. } --- build2/algorithm.ixx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build2/algorithm.ixx') diff --git a/build2/algorithm.ixx b/build2/algorithm.ixx index b6d3ccb..0b3a23e 100644 --- a/build2/algorithm.ixx +++ b/build2/algorithm.ixx @@ -380,7 +380,7 @@ namespace build2 // (which are not executed). Plus, group action means real recipe is in // the group so this also feels right conceptually. // - // We also avoid increment this count twice for the same target if we + // We also avoid incrementing this count twice for the same target if we // have both the inner and outer operations. In our model the outer // operation is either noop or it must delegate to the inner. While it's // possible the inner is noop while the outer is not, it is not very -- cgit v1.1