From 5d8373a498a50b1387464391402ef22636439303 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 e98d93ab233ff8..585dee4bd85689 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: