diff options
author | Steven Knight <knight@baldmt.com> | 2002-12-27 04:52:10 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-12-27 04:52:10 (GMT) |
commit | 38d41c10db89f34f72a62d6ada1a4122d4a1cc3f (patch) | |
tree | 3d694990b638eddffb9ff187c4be58e9a9004ab2 /src/engine/SCons/Script/SConscript.py | |
parent | ed5697feb65d129a082d59408ddfcfac4ee2134b (diff) | |
download | SCons-38d41c10db89f34f72a62d6ada1a4122d4a1cc3f.zip SCons-38d41c10db89f34f72a62d6ada1a4122d4a1cc3f.tar.gz SCons-38d41c10db89f34f72a62d6ada1a4122d4a1cc3f.tar.bz2 |
Implement the Clean() function.
Diffstat (limited to 'src/engine/SCons/Script/SConscript.py')
-rw-r--r-- | src/engine/SCons/Script/SConscript.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py index 15f116f..fcb08cf 100644 --- a/src/engine/SCons/Script/SConscript.py +++ b/src/engine/SCons/Script/SConscript.py @@ -51,6 +51,7 @@ def do_nothing(text): pass HelpFunction = do_nothing default_targets = [] +clean_targets = {} arguments = {} launch_dir = os.path.abspath(os.curdir) @@ -315,6 +316,21 @@ def SetJobs(num): except ValueError, x: raise SCons.Errors.UserError, "A positive integer is required: %s"%repr(num) +def Clean(target, files): + target = str(target) + if not SCons.Util.is_List(files): + files = [files] + nodes = [] + for f in files: + if isinstance(f, SCons.Node.Node): + nodes.append(f) + else: + nodes.extend(SCons.Node.arg2nodes(f, SCons.Node.FS.default_fs.Entry)) + if clean_targets.has_key(target): + clean_targets[target].extend(nodes) + else: + clean_targets[target] = nodes + def BuildDefaultGlobals(): """ Create a dictionary containing all the default globals for @@ -326,6 +342,7 @@ def BuildDefaultGlobals(): globals['ARGUMENTS'] = arguments globals['BuildDir'] = BuildDir globals['Builder'] = SCons.Builder.Builder + globals['Clean'] = Clean globals['CScan'] = SCons.Defaults.CScan globals['Default'] = Default globals['Dir'] = SCons.Node.FS.default_fs.Dir |