summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt3
-rw-r--r--src/engine/SCons/Script/__init__.py13
2 files changed, 13 insertions, 3 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 3b0f2b7..c30e871 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -68,6 +68,9 @@ RELEASE 0.05 -
- Efficiency: don't scan dependencies more than once during the
walk of a tree.
+ - Fix the -c option so it doesn't stop removing targets if one doesn't
+ already exist.
+
From Steve Leblanc:
- Add support for the -u option.
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index 6e923bc..aa4ecb4 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -105,11 +105,18 @@ class CleanTask(SCons.Taskmaster.Task):
"""An SCons clean task."""
def execute(self):
if self.targets[0].builder:
- os.unlink(self.targets[0].path)
- print "Removed " + self.targets[0].path
+ try:
+ os.unlink(self.targets[0].path)
+ except OSError:
+ pass
+ else:
+ print "Removed " + self.targets[0].path
try:
for t in self.targets[1:]:
- os.unlink(t.path)
+ try:
+ os.unlink(t.path)
+ except OSError:
+ pass
except IndexError:
pass