summaryrefslogtreecommitdiffstats
path: root/src/script
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-09-21 11:39:19 (GMT)
committerSteven Knight <knight@baldmt.com>2001-09-21 11:39:19 (GMT)
commitf407037c97df685b54882142784d2f353aaac6b6 (patch)
tree3841c4d5ace0dbfd17e48f6f8c85c9a2f3a720d7 /src/script
parent635256859678b6b862b89d4c5ce890b4923e8394 (diff)
downloadSCons-f407037c97df685b54882142784d2f353aaac6b6.zip
SCons-f407037c97df685b54882142784d2f353aaac6b6.tar.gz
SCons-f407037c97df685b54882142784d2f353aaac6b6.tar.bz2
rebuild in response to changed .c file
Diffstat (limited to 'src/script')
-rw-r--r--src/script/scons.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/script/scons.py b/src/script/scons.py
index 51593eb..a6a7f81 100644
--- a/src/script/scons.py
+++ b/src/script/scons.py
@@ -14,6 +14,8 @@ import traceback
import SCons.Node.FS
import SCons.Job
from SCons.Errors import *
+import SCons.Sig
+import SCons.Sig.MD5
#
# Modules and classes that we don't use directly in this script, but
@@ -545,14 +547,18 @@ def main():
if not targets:
targets = default_targets
- taskmaster = Taskmaster(map(
- lambda x: SCons.Node.FS.default_fs.File(x),
- targets))
+ calc = SCons.Sig.Calculator(SCons.Sig.MD5)
+ nodes = map(lambda x: SCons.Node.FS.default_fs.File(x), targets)
+ nodes = filter(lambda x, calc=calc: not calc.current(x), nodes)
+
+ taskmaster = Taskmaster(nodes)
jobs = SCons.Job.Jobs(num_jobs, taskmaster)
jobs.start()
jobs.wait()
+ calc.write(nodes)
+
if __name__ == "__main__":
try:
main()