From d8cedf545e60cc9fd9ecc2337957e97fe6e9d694 Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Fri, 28 Sep 2018 20:06:15 -0400 Subject: [PATCH] tools,gyp: don't force build actions with multiple outputs Don't add `force_append` (FORCE_DO_CMD) to the intermediate sentinal. Adding it makes the action run alway, even when there are no changes. (refack): AFAICT because `*.intermediate` files don't have build rules. PR-URL: https://github.com/nodejs/node/pull/23156 Reviewed-By: Richard Lau Reviewed-By: Joyee Cheung --- tools/gyp/pylib/gyp/generator/make.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py index 5870ed67be5fe2..1ce8f9e4ee61e7 100644 --- a/tools/gyp/pylib/gyp/generator/make.py +++ b/tools/gyp/pylib/gyp/generator/make.py @@ -1758,8 +1758,10 @@ def WriteMakeRule(self, outputs, inputs, actions=None, comment=None, self.WriteLn('%s: %s' % (' '.join(outputs), intermediate)) self.WriteLn('\t%s' % '@:'); self.WriteLn('%s: %s' % ('.INTERMEDIATE', intermediate)) - self.WriteLn('%s: %s%s' % - (intermediate, ' '.join(inputs), force_append)) + # Don't add `force_append` (FORCE_DO_CMD) to the intermediate sentinal. + # Adding it makes the action run alway, even when there are no changes. + # (refack): AFAICT because `*.intermediate` files don't have build rules. + self.WriteLn('%s: %s' % (intermediate, ' '.join(inputs))) actions.insert(0, '$(call do_cmd,touch)') if actions: