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 | |||
