-
-
Notifications
You must be signed in to change notification settings - Fork 31.4k
build: more portable Makefile #28108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Make some `$(shell)` calls lazy * `$(wildcard)` instead of `ls` * `$(info)` instead of `echo` * `$?` instead of duplicated file lists
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
Assuming it passes ci ... :-) |
@$(call available-node,$(run-lint-doc-md)) | ||
@touch $@ | ||
tools/.docmdlintstamp: AVALIBLE_NODE := $(available-node-shell) | ||
tools/.docmdlintstamp: $(wildcard doc/*.md doc/**/*.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc/**/*.md
doesn't appear to pick up all subdirectories under doc
with wildcard
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5 mins of searching, and I couldn't even find a definition of what pattern
means for wildcard()
in GNU make, much less generally. I didn't think **
was supported unless the shell supported it, and I just tried on AIX, which is agressively POSIX, and it didn't expand.
@refack this needs a rebase |
Closing, since there was no follow up for a long time. |
$(shell)
calls lazy$(wildcard)
instead ofls
$(info)
instead ofecho
$?
instead of duplicated file listsBiggest benefit: smoother experience with MSYS
make
(can be added to "Git Bash", or vendored)/CC @nodejs/build-files @nodejs/platform-windows
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes