aboutsummaryrefslogtreecommitdiff
path: root/src/rule.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-09-20 19:18:40 +0000
committerMike Buland <eichlan@xagasoft.com>2006-09-20 19:18:40 +0000
commit225c45a1a4f1300058974029dab71bdcfb889138 (patch)
tree9d5f3203ee8b13ae5c31483d90e967c4eda236d3 /src/rule.cpp
parent85539c8c262c0c9e227c87fd1de02c53c163b7d8 (diff)
downloadbuild-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.cpp3
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 );