diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-09-20 19:18:40 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-09-20 19:18:40 +0000 |
commit | 225c45a1a4f1300058974029dab71bdcfb889138 (patch) | |
tree | 9d5f3203ee8b13ae5c31483d90e967c4eda236d3 /src | |
parent | 85539c8c262c0c9e227c87fd1de02c53c163b7d8 (diff) | |
download | build-225c45a1a4f1300058974029dab71bdcfb889138.tar.gz build-225c45a1a4f1300058974029dab71bdcfb889138.tar.bz2 build-225c45a1a4f1300058974029dab71bdcfb889138.tar.xz build-225c45a1a4f1300058974029dab71bdcfb889138.zip |
Full chaining now works, fixed a bug I didn't notice a few minutes ago...
Diffstat (limited to 'src')
-rw-r--r-- | src/rule.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rule.cpp b/src/rule.cpp index f1b0317..61ea632 100644 --- a/src/rule.cpp +++ b/src/rule.cpp | |||
@@ -20,6 +20,7 @@ StringList Rule::execute( Build &bld, StringList &lInput, PerformList &lPerf ) | |||
20 | 20 | ||
21 | for( RuleList::iterator i = rl.begin(); i != rl.end(); i++ ) | 21 | for( RuleList::iterator i = rl.begin(); i != rl.end(); i++ ) |
22 | { | 22 | { |
23 | (*i)->setTarget( sTarget ); | ||
23 | StringList tmp = (*i)->execute( bld, lInput, lPerf ); | 24 | StringList tmp = (*i)->execute( bld, lInput, lPerf ); |
24 | lOutput.insert( lOutput.end(), tmp.begin(), tmp.end() ); | 25 | lOutput.insert( lOutput.end(), tmp.begin(), tmp.end() ); |
25 | } | 26 | } |
@@ -89,6 +90,7 @@ StringList Rule::execute( Build &bld, StringList &lInput, PerformList &lPerf ) | |||
89 | { | 90 | { |
90 | VarMap mTmp; | 91 | VarMap mTmp; |
91 | StringList cont; | 92 | StringList cont; |
93 | cont.push_front( sTarget ); | ||
92 | cont.push_front( (*i) ); | 94 | cont.push_front( (*i) ); |
93 | std::string target = bld.replVars( (*j), &cont, NULL ); | 95 | std::string target = bld.replVars( (*j), &cont, NULL ); |
94 | mTmp["target"] = target; | 96 | mTmp["target"] = target; |
@@ -104,6 +106,7 @@ StringList Rule::execute( Build &bld, StringList &lInput, PerformList &lPerf ) | |||
104 | k != lPerform.end(); k++ ) | 106 | k != lPerform.end(); k++ ) |
105 | { | 107 | { |
106 | StringList cont2; | 108 | StringList cont2; |
109 | cont2.push_front( sTarget ); | ||
107 | cont2.push_front( (*i) ); | 110 | cont2.push_front( (*i) ); |
108 | cont2.push_front( target ); | 111 | cont2.push_front( target ); |
109 | Perform *p = (*k)->duplicate( bld, &cont2, &mTmp ); | 112 | Perform *p = (*k)->duplicate( bld, &cont2, &mTmp ); |