diff options
Diffstat (limited to 'src/script/scons.py')
-rw-r--r-- | src/script/scons.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/script/scons.py b/src/script/scons.py index 5f5d45d..8f48f9c 100644 --- a/src/script/scons.py +++ b/src/script/scons.py @@ -61,17 +61,16 @@ from SCons.Defaults import * class BuildTask(SCons.Taskmaster.Task): """An SCons build task.""" def execute(self): - try: - self.target.build() - except BuildError, e: - sys.stderr.write("scons: *** [%s] Error %d\n" % (e.node, e.stat)) - raise - - def up_to_date(self): - if self.top: - print 'scons: "%s" is up to date.' % str(self.target) - SCons.Taskmaster.Task.up_to_date(self) - + if self.target.get_state() == SCons.Node.up_to_date: + if self.top: + print 'scons: "%s" is up to date.' % str(self.target) + else: + try: + self.target.build() + except BuildError, e: + sys.stderr.write("scons: *** [%s] Error %d\n" % (e.node, e.stat)) + raise + def failed(self): global ignore_errors if ignore_errors: |