aboutsummaryrefslogtreecommitdiff
path: root/src/build.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/build.cpp')
-rw-r--r--src/build.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/build.cpp b/src/build.cpp
index 03d3c5a..bf867af 100644
--- a/src/build.cpp
+++ b/src/build.cpp
@@ -11,6 +11,14 @@ Build::~Build()
11{ 11{
12} 12}
13 13
14void Build::execAction( const std::string &sWhat )
15{
16 if( mAction.find( sWhat ) == mAction.end() )
17 throw BuildException("No action matches %s.", sWhat.c_str() );
18
19 return;
20}
21
14void Build::addTarget( Target *pTarget ) 22void Build::addTarget( Target *pTarget )
15{ 23{
16 TargetMap::iterator i = mTarget.find( pTarget->getName() ); 24 TargetMap::iterator i = mTarget.find( pTarget->getName() );
@@ -34,6 +42,11 @@ void Build::addRule( Rule *pRule )
34 mRule[pRule->getName()] = pRule; 42 mRule[pRule->getName()] = pRule;
35} 43}
36 44
45void Build::addAction( Action *pAction )
46{
47 mAction[pAction->getName()] = pAction;
48}
49
37void Build::set( const std::string &cont, const std::string &var, const std::string &val ) 50void Build::set( const std::string &cont, const std::string &var, const std::string &val )
38{ 51{
39 if( cont == "" ) 52 if( cont == "" )
@@ -149,5 +162,16 @@ void Build::debugDump()
149 printf(" Produces:\n"); 162 printf(" Produces:\n");
150 printf(" Requires:\n"); 163 printf(" Requires:\n");
151 } 164 }
165
166 printf("Actions:\n");
167 for( ActionMap::iterator i = mAction.begin(); i != mAction.end(); i++ )
168 {
169 printf(" %s: ", (*i).first.c_str() );
170 for( (*i).second->begin(); !(*i).second->isEnded(); (*i).second->next() )
171 {
172 printf("%d:%s ", (*i).second->getAct(), (*i).second->getWhat().c_str() );
173 }
174 printf("\n");
175 }
152} 176}
153 177