summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-09-09 03:31:10 (GMT)
committerSteven Knight <knight@baldmt.com>2002-09-09 03:31:10 (GMT)
commitb18c0d85f90d17412960c39a9c935af9796a8cea (patch)
tree1dc031738458c71e519198d503a32d86a64eac2b /src/engine/SCons/Script
parent596f9fa6bed4777348f005fb98f8b67dda93b515 (diff)
downloadSCons-b18c0d85f90d17412960c39a9c935af9796a8cea.zip
SCons-b18c0d85f90d17412960c39a9c935af9796a8cea.tar.gz
SCons-b18c0d85f90d17412960c39a9c935af9796a8cea.tar.bz2
Warn when -c can't remove a file.
Diffstat (limited to 'src/engine/SCons/Script')
-rw-r--r--src/engine/SCons/Script/__init__.py26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index cff3a21..365a0b1 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -130,26 +130,18 @@ class CleanTask(SCons.Taskmaster.Task):
"""An SCons clean task."""
def show(self):
if self.targets[0].builder or self.targets[0].side_effect:
- print "Removed " + self.targets[0].path
+ print "Removed " + str(self.targets[0])
def remove(self):
if self.targets[0].builder or self.targets[0].side_effect:
- try:
- os.unlink(self.targets[0].path)
- except OSError:
- pass
- else:
- print "Removed " + self.targets[0].path
- try:
- for t in self.targets[1:]:
- try:
- os.unlink(t.path)
- except OSError:
- pass
- else:
- print "Removed " + t.path
- except IndexError:
- pass
+ for t in self.targets:
+ try:
+ removed = t.remove()
+ except OSError, e:
+ print "scons: Could not remove '%s':" % str(t), e.strerror
+ else:
+ if removed:
+ print "Removed " + str(t)
execute = remove