Skip to content

Commit cdb8c1b

Browse files
danbevrvagg
authored andcommitted
build: extract common parts from addon .buildstamp
This commit extracts common parts from the targets test/addons/.buildstamp, and test/addons-napi/.buildstamp to reduce some duplication. PR-URL: #22171 Reviewed-By: Jon Moss <me@jonathanmoss.me>
1 parent 7a4c7e6 commit cdb8c1b

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

Makefile

+17-17
Original file line numberDiff line numberDiff line change
@@ -333,19 +333,26 @@ ADDONS_BINDING_SOURCES := \
333333
$(filter-out test/addons/??_*/*.cc, $(wildcard test/addons/*/*.cc)) \
334334
$(filter-out test/addons/??_*/*.h, $(wildcard test/addons/*/*.h))
335335

336+
ADDONS_PREREQS := config.gypi \
337+
deps/npm/node_modules/node-gyp/package.json tools/build-addons.js \
338+
deps/uv/include/*.h deps/v8/include/*.h \
339+
src/node.h src/node_buffer.h src/node_object_wrap.h src/node_version.h
340+
341+
define run_build_addons
342+
env npm_config_loglevel=$(LOGLEVEL) npm_config_nodedir="$$PWD" \
343+
npm_config_python="$(PYTHON)" $(NODE) "$$PWD/tools/build-addons" \
344+
"$$PWD/deps/npm/node_modules/node-gyp/bin/node-gyp.js" \
345+
$1
346+
touch $2
347+
endef
348+
336349
# Implicitly depends on $(NODE_EXE), see the build-addons rule for rationale.
337350
# Depends on node-gyp package.json so that build-addons is (re)executed when
338351
# node-gyp is updated as part of an npm update.
339-
test/addons/.buildstamp: config.gypi \
340-
deps/npm/node_modules/node-gyp/package.json tools/build-addons.js \
352+
test/addons/.buildstamp: $(ADDONS_PREREQS) \
341353
$(ADDONS_BINDING_GYPS) $(ADDONS_BINDING_SOURCES) \
342-
deps/uv/include/*.h deps/v8/include/*.h \
343-
src/node.h src/node_buffer.h src/node_object_wrap.h src/node_version.h \
344354
test/addons/.docbuildstamp
345-
env npm_config_loglevel=$(LOGLEVEL) npm_config_nodedir="$$PWD" \
346-
npm_config_python="$(PYTHON)" $(NODE) "$$PWD/tools/build-addons" \
347-
"$$PWD/deps/npm/node_modules/node-gyp/bin/node-gyp.js" "$$PWD/test/addons"
348-
touch $@
355+
@$(call run_build_addons,"$$PWD/test/addons",$@)
349356

350357
.PHONY: build-addons
351358
# .buildstamp needs $(NODE_EXE) but cannot depend on it
@@ -366,17 +373,10 @@ ADDONS_NAPI_BINDING_SOURCES := \
366373
$(filter-out test/addons-napi/??_*/*.h, $(wildcard test/addons-napi/*/*.h))
367374

368375
# Implicitly depends on $(NODE_EXE), see the build-addons-napi rule for rationale.
369-
test/addons-napi/.buildstamp: config.gypi \
370-
deps/npm/node_modules/node-gyp/package.json tools/build-addons.js \
376+
test/addons-napi/.buildstamp: $(ADDONS_PREREQS) \
371377
$(ADDONS_NAPI_BINDING_GYPS) $(ADDONS_NAPI_BINDING_SOURCES) \
372-
deps/uv/include/*.h deps/v8/include/*.h \
373-
src/node.h src/node_buffer.h src/node_object_wrap.h src/node_version.h \
374378
src/node_api.h src/node_api_types.h
375-
env npm_config_loglevel=$(LOGLEVEL) npm_config_nodedir="$$PWD" \
376-
npm_config_python="$(PYTHON)" $(NODE) "$$PWD/tools/build-addons" \
377-
"$$PWD/deps/npm/node_modules/node-gyp/bin/node-gyp.js" \
378-
"$$PWD/test/addons-napi"
379-
touch $@
379+
@$(call run_build_addons,"$$PWD/test/addons-napi",$@)
380380

381381
.PHONY: build-addons-napi
382382
# .buildstamp needs $(NODE_EXE) but cannot depend on it

0 commit comments

Comments
 (0)