summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Script/__init__.py')
-rw-r--r--src/engine/SCons/Script/__init__.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index a533c29..71ed2be 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -753,6 +753,7 @@ def _main(args, parser):
else:
targets.append(a)
SCons.Script.SConscript._scons_add_args(xmit_args)
+ SCons.Script.SConscript._scons_add_targets(targets)
target_top = None
if options.climb_up:
@@ -865,6 +866,7 @@ def _main(args, parser):
# There are no targets specified on the command line,
# so if they used -u, -U or -D, we may have to restrict
# what actually gets built.
+ d = None
if target_top:
if options.climb_up == 1:
# -u, local directory and below
@@ -886,18 +888,18 @@ def _main(args, parser):
# or not a file, so go ahead and keep it as a default
# target and let the engine sort it out:
return 1
- default_targets = SCons.Environment.DefaultTargets
- if default_targets is None:
- default_targets = []
- else:
- default_targets = filter(check_dir, default_targets)
- SCons.Environment.DefaultTargets = default_targets
+ d = filter(check_dir, SCons.Script.SConscript.DefaultTargets)
+ SCons.Script.SConscript.DefaultTargets[:] = d
target_top = None
lookup_top = None
- targets = SCons.Environment.DefaultTargets
- if targets is None:
- targets = [fs.Dir('.')]
+ if SCons.Script.SConscript.DefaultCalled:
+ targets = SCons.Script.SConscript.DefaultTargets
+ else:
+ if d is None:
+ d = [fs.Dir('.')]
+ targets = d
+
if not targets:
sys.stderr.write("scons: *** No targets specified and no Default() targets found. Stop.\n")