aboutsummaryrefslogtreecommitdiff
path: root/src/build.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/build.cpp')
-rw-r--r--src/build.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/build.cpp b/src/build.cpp
index c81c885..5121d1f 100644
--- a/src/build.cpp
+++ b/src/build.cpp
@@ -86,16 +86,8 @@ void Build::execAction( const std::string &sWhat )
86 ); 86 );
87 Target *pTarget = mTarget[pAct->getWhat()]; 87 Target *pTarget = mTarget[pAct->getWhat()];
88 pView->beginCommand( pAct->getAct(), pAct->getWhat() ); 88 pView->beginCommand( pAct->getAct(), pAct->getWhat() );
89 switch( pAct->getAct() ) 89 if( !pTarget->wasRun() )
90 { 90 pTarget->run( pAct->getAct(), *this );
91 case Action::actCheck:
92 pTarget->check( *this );
93 break;
94
95 case Action::actClean:
96 pTarget->clean( *this );
97 break;
98 }
99 pView->endCommand(); 91 pView->endCommand();
100 } 92 }
101 93
@@ -363,3 +355,12 @@ void Build::updateCache( const std::string &sID, FunctionList &lFunc, StringList
363 bCacheUpdated = true; 355 bCacheUpdated = true;
364} 356}
365 357
358void Build::chainTarget( const std::string &sName )
359{
360 TargetMap::iterator i = mTarget.find(sName);
361 if( i == mTarget.end() ) return;
362
363 if( !(*i).second->wasRun() )
364 (*i).second->run( Action::actCheck, *this );
365}
366