diff options
Diffstat (limited to 'src/build.cpp')
-rw-r--r-- | src/build.cpp | 21 |
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 | ||
358 | void 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 | |||