build: fix quiet default for make builds - #65826
Conversation
The Makefile documents quiet output unless V=1 and sets `V ?= 0`, but it forwards `V=$(V)` to the gyp-generated makefile, which tests `ifdef V`. "0" is a non-empty value there, so every make build has printed the full compiler command lines regardless. Default V to empty so the sub-make takes its quiet_ rules; `make V=1` and V=1 in the environment stay verbose, and the ninja and cpplint checks already compare against 1. Refs: nodejs#26740 Refs: nodejs/build#4419 Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #65826 +/- ##
==========================================
- Coverage 90.19% 90.18% -0.02%
==========================================
Files 770 770
Lines 264410 264410
Branches 50243 50240 -3
==========================================
- Hits 238490 238446 -44
- Misses 16924 16978 +54
+ Partials 8996 8986 -10 🚀 New features to boost your workflow:
|
Seriously, why? It's a one-line change |
|
@aduh95 It ended up being a one-line change but the process of figuring out whether it should be wasn't. I'm less familiar with this component of the codebase and I wanted to figure out whether there were more or better changes to be made in service is fixing the problem. As a matter of transparency I would rather disclose when Claude has been involved in the process at all, so that's what i did. I'm just using the same disclaimer for all PRs where Claude was involved at some point. |
The Makefile says builds are quiet unless
V=1(since #26740), but it setsV ?= 0and forwardsV=$(V)to the gyp-generated makefile, which checksifdef V.0is a non-empty value, so every make build has printed the full compiler command lines regardless. On ci.nodejs.org that is most of the log volume: onenode-test-commit-*configuration's console is 12-22 MB with all but ~0.5 MB of it compile commands before the TAP output starts, and a singlenode-test-pull-requestrun adds up to ~480 MB of console on the controller (nodejs/build#4419).This defaults
Vto empty so the sub-make sees noVand uses itsquiet_rules.make V=1, orV=1in the environment, is verbose as before; the ninja and cpplint paths already compare against1and are unchanged.Tests: on a make-configured tree
makenow printsCC(target) …lines andmake V=1prints the full commands;make -n nodeshowsV=/V=1being forwarded.Refs: #26740
Refs: nodejs/build#4419
Disclosure: the code and this description were written by Claude Code, directed and reviewed by @codebytere.