diff options
Diffstat (limited to '')
-rw-r--r-- | src/filetarget.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/filetarget.cpp b/src/filetarget.cpp index cd95188..ca9a39f 100644 --- a/src/filetarget.cpp +++ b/src/filetarget.cpp | |||
@@ -81,10 +81,10 @@ void FileTarget::check( Builder &bld ) | |||
81 | 81 | ||
82 | bld.processRequires( lOutput ); | 82 | bld.processRequires( lOutput ); |
83 | 83 | ||
84 | |||
85 | for( std::list<Perform *>::iterator i = perf.begin(); | 84 | for( std::list<Perform *>::iterator i = perf.begin(); |
86 | i != perf.end(); i++ ) | 85 | i != perf.end(); i++ ) |
87 | { | 86 | { |
87 | bool bExtraReqs = false; | ||
88 | time_t target = getTime( std::string((*i)->getTarget()) ); | 88 | time_t target = getTime( std::string((*i)->getTarget()) ); |
89 | std::list<std::string> *lReqs = bld.getRequires( (*i)->getTarget() ); | 89 | std::list<std::string> *lReqs = bld.getRequires( (*i)->getTarget() ); |
90 | if( lReqs == NULL ) | 90 | if( lReqs == NULL ) |
@@ -101,6 +101,16 @@ void FileTarget::check( Builder &bld ) | |||
101 | updateTime( (*i)->getTarget() ); | 101 | updateTime( (*i)->getTarget() ); |
102 | break; | 102 | break; |
103 | } | 103 | } |
104 | if( bExtraReqs == false ) | ||
105 | { | ||
106 | std::list<std::string>::iterator k = j; | ||
107 | k++; | ||
108 | if( k == lReqs->end() ) | ||
109 | { | ||
110 | bExtraReqs = true; | ||
111 | bld.genRequiresFor( (*i)->getTarget() ); | ||
112 | } | ||
113 | } | ||
104 | } | 114 | } |
105 | } | 115 | } |
106 | 116 | ||