Make the build rule depend on the build artifact (weakref.node) itself rather than the directory it's built in. Depending on the directory means that a build failure won't trigger a rebuild on the next invocation because the directory's timestamp has been updated. This is a back-port of commit 1189571 from the master branch that hopefully fixes the following CI error: executing: make test/gc/node_modules/weak/build/ make: *** No rule to make target `test/gc/node_modules/weak/build/'. Command exited with non-zero: make test/gc/node_modules/weak/build/ Build step 'Execute NodeJS script' marked build as failure
Make the build rule depend on the build artifact (weakref.node) itself rather than the directory it's built in. Depending on the directory means that a build failure won't trigger a rebuild on the next invocation because the directory's timestamp has been updated.
Don't run configure when the configure script has been touched. Doing so would be okay if the Makefile passed the original arguments to configure but it doesn't - it runs configure without any arguments, effectively destroying the current configuration. Remove this misfeature and instead print an error message telling the user to (re-)run configure.
It's forced to violate the build/include_order rule because it includes a header file generated with ctrpp.exe that doesn't include perflib.h itself.
Make configure start gyp with the same python interpreter that is used to run configure itself. Fixes an issue where configure fails with a SyntaxError because the user has multiple python binaries on his $PATH and the default one is too old.
It's backwards compatible with the old waf build system. If you want to compile just the debug build, run `make -C out BUILDTYPE=Debug` instead. Fixes #2615.
Avoids `ls: cannot access build/debug/node_g: No such file or directory`. Not an actual error but it confuses people.
Passes `--use-http2` to node. Fixes #1430.