diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-10-27 07:22:46 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-10-27 07:22:46 +0000 |
commit | e270362ceacad49a72cf46394fcb5f010acc41f9 (patch) | |
tree | 5cb20a2eb4d689826eee165fddb44ac9c5b862bc | |
parent | 001a817e2986789b53b22e42f460d621f97302c2 (diff) | |
download | build-e270362ceacad49a72cf46394fcb5f010acc41f9.tar.gz build-e270362ceacad49a72cf46394fcb5f010acc41f9.tar.bz2 build-e270362ceacad49a72cf46394fcb5f010acc41f9.tar.xz build-e270362ceacad49a72cf46394fcb5f010acc41f9.zip |
Try out this update, now it scans the pre-provided requirements of each target
for target chaining before performing any other operations. This means libs
will be built before anything may reference them, instead of just the exe.
-rw-r--r-- | src/targetfile.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/targetfile.cpp b/src/targetfile.cpp index 950fc7b..dacf521 100644 --- a/src/targetfile.cpp +++ b/src/targetfile.cpp | |||
@@ -27,12 +27,21 @@ void TargetFile::check( Build &bld ) | |||
27 | 27 | ||
28 | for( PerformList::iterator i = lPerf.begin(); i != lPerf.end(); i++ ) | 28 | for( PerformList::iterator i = lPerf.begin(); i != lPerf.end(); i++ ) |
29 | { | 29 | { |
30 | StringList &reqs = bld.getRequires( (*i)->getTarget() ); | ||
31 | for( StringList::iterator j = reqs.begin(); j != reqs.end(); j++ ) | ||
32 | { | ||
33 | bld.chainTarget( *j ); | ||
34 | } | ||
35 | } | ||
36 | |||
37 | for( PerformList::iterator i = lPerf.begin(); i != lPerf.end(); i++ ) | ||
38 | { | ||
30 | time_t tTarget = getTime( bld, (*i)->getTarget() ); | 39 | time_t tTarget = getTime( bld, (*i)->getTarget() ); |
31 | StringList &reqs = bld.getRequires( (*i)->getTarget() ); | 40 | StringList &reqs = bld.getRequires( (*i)->getTarget() ); |
32 | bool bExtras = false; | 41 | bool bExtras = false; |
33 | for( StringList::iterator j = reqs.begin(); j != reqs.end(); j++ ) | 42 | for( StringList::iterator j = reqs.begin(); j != reqs.end(); j++ ) |
34 | { | 43 | { |
35 | bld.chainTarget( *j ); | 44 | //bld.chainTarget( *j ); |
36 | if( getTime( bld, *j ) > tTarget ) | 45 | if( getTime( bld, *j ) > tTarget ) |
37 | { | 46 | { |
38 | bld.getView()->beginPerform( *i ); | 47 | bld.getView()->beginPerform( *i ); |