It’s said that scons uses MD5 signature as default decider to dertermine whether a source file needs re-compilation. E.g. I’ve got SConstruct as below: And my o.c is: Run scons and remove the comment line, run scons again. I expect that scons should not compile it again, but actually it’s: If I change SConstruct file to add one line: Still