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