aboutsummaryrefslogtreecommitdiff
path: root/src/targetfile.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-11-04 00:07:51 +0000
committerMike Buland <eichlan@xagasoft.com>2006-11-04 00:07:51 +0000
commit9868a2005820a4291f97b3080168af39b429a03c (patch)
tree22302b3f3344c378fb530575fb4de8842a0f7681 /src/targetfile.cpp
parent863a1f4ce1d7b70f9a73edb16b0de1c753087152 (diff)
downloadbuild-9868a2005820a4291f97b3080168af39b429a03c.tar.gz
build-9868a2005820a4291f97b3080168af39b429a03c.tar.bz2
build-9868a2005820a4291f97b3080168af39b429a03c.tar.xz
build-9868a2005820a4291f97b3080168af39b429a03c.zip
Getting closer to the percents making some damn sense.
Diffstat (limited to 'src/targetfile.cpp')
-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();