diff options
Diffstat (limited to 'ninjabackend.py')
-rw-r--r-- | ninjabackend.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ninjabackend.py b/ninjabackend.py index 7ea73f1..2eaaaa1 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -67,9 +67,11 @@ class NinjaBuildElement(): self.elems.append((name, elems)) def write(self, outfile): - line = 'build %s: %s %s' % (' '.join([ninja_quote(i) for i in self.outfilenames]),\ + # Sort inputs so the command line does not change. + # This allows Ninja to skip unnecessary rebuilds. + line = 'build %s: %s %s' % (' '.join([ninja_quote(i) for i in self.outfilenames]),\ self.rule, - ' '.join([ninja_quote(i) for i in self.infilenames])) + ' '.join([ninja_quote(i) for i in sorted(self.infilenames)])) if len(self.deps) > 0: line += ' | ' + ' '.join([ninja_quote(x) for x in self.deps]) if len(self.orderdeps) > 0: |