mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
build: update build-addons when node-gyp changes
We can tell when `node-gyp` is changed by creating a prerequisite on `deps/npm/node_modules/node-gyp/package.json`. The prerequisite is added to the `test/addons/.buildstamp` since `build-addons` is .PHONY. Testing for this change was entirely manual. $ make clean test-build # Initial build $ make test-build # Make sure build-addons doesn't rebuild $ touch deps/npm/node_modules/node-gyp/package.json # simulate change $ make test-build # Ensure build-addons rebuilds PR-URL: https://github.com/nodejs/node/pull/6787 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
1 parent
62376d99bd
commit
99bf6face5
1 file changed
+5
-2
@@ -144,7 +144,10 @@ ADDONS_BINDING_GYPS := \
|
||||
$(wildcard test/addons/*/binding.gyp))
|
||||
|
||||
# Implicitly depends on $(NODE_EXE), see the build-addons rule for rationale.
|
||||
test/addons/.buildstamp: $(ADDONS_BINDING_GYPS) \
|
||||
# Depends on node-gyp package.json so that build-addons is (re)executed when
|
||||
# node-gyp is updated as part of an npm update.
|
||||
test/addons/.buildstamp: deps/npm/node_modules/node-gyp/package.json \
|
||||
$(ADDONS_BINDING_GYPS) \
|
||||
deps/uv/include/*.h deps/v8/include/*.h \
|
||||
src/node.h src/node_buffer.h src/node_object_wrap.h \
|
||||
test/addons/.docbuildstamp
|
||||
@@ -163,7 +166,7 @@ test/addons/.buildstamp: $(ADDONS_BINDING_GYPS) \
|
||||
# if the subprocess touched anything so it pessimistically assumes that
|
||||
# .buildstamp and .docbuildstamp are out of date and need a rebuild.
|
||||
# Just goes to show that recursive make really is harmful...
|
||||
# TODO(bnoordhuis) Force rebuild after gyp or node-gyp update.
|
||||
# TODO(bnoordhuis) Force rebuild after gyp update.
|
||||
build-addons: $(NODE_EXE) test/addons/.buildstamp
|
||||
|
||||
test-gc: all test/gc/node_modules/weak/build/Release/weakref.node
|
||||
|
||||
Reference in new issue
Block a user