diff options
author | Steven Knight <knight@baldmt.com> | 2004-09-18 18:30:35 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-09-18 18:30:35 (GMT) |
commit | aeb8fd273afe8db3b98ad991d6afb94a6007c293 (patch) | |
tree | 0f9c43b8b55625dca1c3d9c27459af1fc2a97f5f /src/engine/SCons/Taskmaster.py | |
parent | 40f1769edcc4b9bfab72472899507a173d69e2a4 (diff) | |
download | SCons-aeb8fd273afe8db3b98ad991d6afb94a6007c293.zip SCons-aeb8fd273afe8db3b98ad991d6afb94a6007c293.tar.gz SCons-aeb8fd273afe8db3b98ad991d6afb94a6007c293.tar.bz2 |
Build targets in an associated BuildDir even if there are local targets in the source directory. (Kevin Quick)
Diffstat (limited to 'src/engine/SCons/Taskmaster.py')
-rw-r--r-- | src/engine/SCons/Taskmaster.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py index 84eb08d..6bd5e21 100644 --- a/src/engine/SCons/Taskmaster.py +++ b/src/engine/SCons/Taskmaster.py @@ -253,6 +253,7 @@ class Taskmaster: self.ready = None # the next task that is ready to be executed self.order = order self.message = None + self.altered = [] def _find_next_ready_node(self): """Find the next node that is ready to be built""" @@ -331,15 +332,15 @@ class Taskmaster: self.ready = node break - # If there aren't any children with builders and this - # was a top-level argument, then see if we can find any + # If this was a top-level argument and we haven't already + # done so, see if we can alter the target list to find any # corresponding targets in linked build directories: - if not derived and node in self.targets: + if node in self.targets and node not in self.altered: alt, message = node.alter_targets() if alt: self.message = message - self.candidates.pop() - self.candidates.extend(alt) + self.candidates.extend(self.order(alt)) + self.altered.append(node) continue # Add derived files that have not been built |