aboutsummaryrefslogtreecommitdiff
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
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...
-rw-r--r--build.conf2
-rw-r--r--src/rule.cpp3
2 files changed, 4 insertions, 1 deletions
diff --git a/build.conf b/build.conf
index 18e4eec..6da97e2 100644
--- a/build.conf
+++ b/build.conf
@@ -4,7 +4,7 @@ default action: check targets()
4"clean" action: clean targets() 4"clean" action: clean targets()
5"rebuild" action: clean "build", check "build" 5"rebuild" action: clean "build", check "build"
6 6
7set "CXXFLAGS" += "-ggdb -Ilibbu++/src" 7set "CXXFLAGS" += "-ggdb"
8set "LDFLAGS" += "-Llibbu++ -lbu++ -ldl" 8set "LDFLAGS" += "-Llibbu++ -lbu++ -ldl"
9 9
10"build": 10"build":
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 );