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/__init__.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/__init__.py')
| -rw-r--r-- | src/engine/SCons/Script/__init__.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py index 0068e8c..b4afb3c 100644 --- a/src/engine/SCons/Script/__init__.py +++ b/src/engine/SCons/Script/__init__.py @@ -65,6 +65,7 @@ import SCons.Builder import SCons.Script.SConscript import SCons.Warnings from SCons.Optik import OptionParser, SUPPRESS_HELP, OptionValueError +from SCons.Util import display # @@ -146,6 +147,10 @@ class CleanTask(SCons.Taskmaster.Task): def show(self): if self.targets[0].builder or self.targets[0].side_effect: display("Removed " + str(self.targets[0])) + if SCons.Script.SConscript.clean_targets.has_key(str(self.targets[0])): + files = SCons.Script.SConscript.clean_targets[str(self.targets[0])] + for f in files: + SCons.Utils.fs_delete(str(f), 0) def remove(self): if self.targets[0].builder or self.targets[0].side_effect: @@ -157,6 +162,10 @@ class CleanTask(SCons.Taskmaster.Task): else: if removed: display("Removed " + str(t)) + if SCons.Script.SConscript.clean_targets.has_key(str(self.targets[0])): + files = SCons.Script.SConscript.clean_targets[str(self.targets[0])] + for f in files: + SCons.Util.fs_delete(str(f)) execute = remove @@ -192,11 +201,6 @@ repositories = [] sig_module = None num_jobs = 1 # this is modifed by SConscript.SetJobs() -def print_it(text): - print text - -display = print_it - # Exceptions for this module class PrintHelp(Exception): pass @@ -408,10 +412,8 @@ class OptParser(OptionParser): "--touch", action="callback", callback=opt_ignore, help="Ignored for compatibility.") - def opt_c(option, opt, value, parser): - setattr(parser.values, 'clean', 1) - self.add_option('-c', '--clean', '--remove', action="callback", - callback=opt_c, + self.add_option('-c', '--clean', '--remove', action="store_true", + default=0, dest="clean", help="Remove specified targets and dependencies.") self.add_option('-C', '--directory', type="string", action = "append", @@ -662,10 +664,7 @@ def _main(): SCons.Node.FS.execute_actions = None CleanTask.execute = CleanTask.show if options.no_progress or options.silent: - global display - def dont_print_it(text): - pass - display = dont_print_it + display.set_mode(0) if options.silent: SCons.Action.print_actions = None if options.directory: |
