diff options
author | Steven Knight <knight@baldmt.com> | 2002-08-26 09:28:08 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-08-26 09:28:08 (GMT) |
commit | 3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820 (patch) | |
tree | caadc59bf4974cae2bd2da4d31f496b624dbf22f /src/engine/SCons | |
parent | cff75e572311356bfd6d80c460c1140492a35073 (diff) | |
download | SCons-3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820.zip SCons-3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820.tar.gz SCons-3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820.tar.bz2 |
Put auto-deduced target names in the same directory as the source file.
Diffstat (limited to 'src/engine/SCons')
-rw-r--r-- | src/engine/SCons/Builder.py | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/engine/SCons/Builder.py b/src/engine/SCons/Builder.py index c1e93c2..9edd121 100644 --- a/src/engine/SCons/Builder.py +++ b/src/engine/SCons/Builder.py @@ -283,27 +283,27 @@ class BuilderBase: pre = self.get_prefix(env) suf = self.get_suffix(env) src_suf = self.get_src_suffix(env) + + source = adjustixes(source, None, src_suf) + if target is None: + target = map(lambda x, s=suf: os.path.splitext(x)[0] + s, + source) + else: + target = adjustixes(target, pre, suf) + if self.emitter: # pass the targets and sources to the emitter as strings # rather than nodes since str(node) doesn't work # properly from any directory other than the top directory, # and emitters are called "in" the SConscript directory: - tlist = adjustixes(target, pre, suf) - slist = adjustixes(source, None, src_suf) - - emit_args = { 'target' : tlist, - 'source' : slist, + emit_args = { 'target' : target, + 'source' : source, 'env' : env } emit_args.update(args) target, source = apply(self.emitter, (), emit_args) - slist = SCons.Node.arg2nodes(adjustixes(source, None, src_suf), - self.source_factory) - if target is None: - target = map(lambda x, s=suf: os.path.splitext(str(x))[0] + s, - slist) - tlist = SCons.Node.arg2nodes(adjustixes(target, pre, suf), - self.target_factory) + slist = SCons.Node.arg2nodes(source, self.source_factory) + tlist = SCons.Node.arg2nodes(target, self.target_factory) return tlist, slist |