aboutsummaryrefslogtreecommitdiff
path: root/src/filetarget.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-08-02 06:54:48 +0000
committerMike Buland <eichlan@xagasoft.com>2006-08-02 06:54:48 +0000
commit062fcfb96c56ecfb69b8c3162ced65b63e863752 (patch)
tree59fbd75fe3ff72776556be8f7e9782726396fc06 /src/filetarget.cpp
parent53526ddd639aaed8ce90486b02ba621e02f6b505 (diff)
downloadbuild-062fcfb96c56ecfb69b8c3162ced65b63e863752.tar.gz
build-062fcfb96c56ecfb69b8c3162ced65b63e863752.tar.bz2
build-062fcfb96c56ecfb69b8c3162ced65b63e863752.tar.xz
build-062fcfb96c56ecfb69b8c3162ced65b63e863752.zip
Build will now only perform your extra code for using programs to generate more
dependancies per target, and only if none of the other target's dependancies required a rebuild.
Diffstat (limited to '')
-rw-r--r--src/filetarget.cpp12
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