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 '')
| -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 ); |
