aboutsummaryrefslogtreecommitdiff
path: root/src/targetfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/targetfile.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/targetfile.cpp b/src/targetfile.cpp
index dacf521..1a73cc6 100644
--- a/src/targetfile.cpp
+++ b/src/targetfile.cpp
@@ -38,16 +38,19 @@ void TargetFile::check( Build &bld )
38 { 38 {
39 time_t tTarget = getTime( bld, (*i)->getTarget() ); 39 time_t tTarget = getTime( bld, (*i)->getTarget() );
40 StringList &reqs = bld.getRequires( (*i)->getTarget() ); 40 StringList &reqs = bld.getRequires( (*i)->getTarget() );
41 bool bExtras = false; 41 bool bExtras = false, bBuilt = false, bUpdate = false;
42 for( StringList::iterator j = reqs.begin(); j != reqs.end(); j++ ) 42 for( StringList::iterator j = reqs.begin(); j != reqs.end(); j++ )
43 { 43 {
44 //bld.chainTarget( *j ); 44 //bld.chainTarget( *j );
45 if( getTime( bld, *j ) > tTarget ) 45 if( getTime( bld, *j ) > tTarget )
46 { 46 {
47 if( bUpdate == false )
48 bld.getView()->skipRequiresCheck( false, (*i)->getTarget() ) ;
47 bld.getView()->beginPerform( *i ); 49 bld.getView()->beginPerform( *i );
48 (*i)->execute( bld ); 50 (*i)->execute( bld );
49 bld.getView()->endPerform(); 51 bld.getView()->endPerform();
50 updateTime( (*i)->getTarget() ); 52 updateTime( (*i)->getTarget() );
53 bBuilt = true;
51 break; 54 break;
52 } 55 }
53 if( bExtras == false ) 56 if( bExtras == false )
@@ -59,11 +62,20 @@ void TargetFile::check( Build &bld )
59 if( !bld.getCached( (*i)->getTarget(), tTarget, reqs ) ) 62 if( !bld.getCached( (*i)->getTarget(), tTarget, reqs ) )
60 { 63 {
61 bld.updateCache( (*i)->getTarget(), (*i)->getReqFuncs(), reqs ); 64 bld.updateCache( (*i)->getTarget(), (*i)->getReqFuncs(), reqs );
65 bUpdate = true;
62 } 66 }
63 bExtras = true; 67 bExtras = true;
64 } 68 }
65 } 69 }
66 } 70 }
71 if( bBuilt == false )
72 {
73 if( bUpdate == false )
74 {
75 bld.getView()->skipRequiresCheck( false, (*i)->getTarget() );
76 }
77 bld.getView()->skipPerform( *i );
78 }
67 } 79 }
68 80
69 bld.getView()->endPerforms(); 81 bld.getView()->endPerforms();