Skip to content

Commit

Permalink
build: update build-addons when node-gyp changes
Browse files Browse the repository at this point in the history
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: #6787
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
  • Loading branch information
lance authored and rvagg committed Jun 2, 2016
1 parent 55c0b3e commit e7b03be
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit e7b03be

Please sign in to comment.