@@ -61,6 +61,21 @@ install_node_addons_list_addons_flags := "--pattern $(node_addons_pattern)"
6161# make install-node-addons
6262# /
6363install-node-addons : $(NODE_MODULES ) clean-node-addons
64+ ifeq ($(FAIL_FAST ) , true)
65+ $(QUIET) $(MAKE) LIST_PKGS_ADDONS_FLAGS=$(install_node_addons_list_addons_flags) -f $(this_file) list-pkgs-addons | while read -r pkg; do \
66+ if echo "$$pkg" | grep -v '^\/.*\|^[a-zA-Z]:.*' >/dev/null; then \
67+ continue; \
68+ fi; \
69+ echo ''; \
70+ echo "Building add-on: $$pkg"; \
71+ cd $$pkg && \
72+ MAKEFLAGS= \
73+ NODE_PATH="$(NODE_PATH)" \
74+ GYP_DEFINES="$(NODE_GYP_DEFINES)" \
75+ $(NODE_GYP) $(NODE_GYP_FLAGS) rebuild \
76+ || { echo "Error: failed to build add-on: $$pkg"; exit 1; } \
77+ done
78+ else
6479 $(QUIET) $(MAKE) LIST_PKGS_ADDONS_FLAGS=$(install_node_addons_list_addons_flags) -f $(this_file) list-pkgs-addons | while read -r pkg; do \
6580 if echo "$$pkg" | grep -v '^\/.*\|^[a-zA-Z]:.*' >/dev/null; then \
6681 continue; \
@@ -74,6 +89,7 @@ install-node-addons: $(NODE_MODULES) clean-node-addons
7489 $(NODE_GYP) $(NODE_GYP_FLAGS) rebuild \
7590 || { echo "Error: failed to build add-on: $$pkg"; exit 0; } \
7691 done
92+ endif
7793
7894.PHONY : install-node-addons
7995
@@ -83,7 +99,19 @@ install-node-addons: $(NODE_MODULES) clean-node-addons
8399# @example
84100# make clean-node-addons
85101# /
86- clean-node-addons :
102+ clean-node-addons : $(NODE_MODULES )
103+ ifeq ($(FAIL_FAST ) , true)
104+ $(QUIET) $(MAKE) LIST_PKGS_ADDONS_FLAGS=$(install_node_addons_list_addons_flags) -f $(this_file) list-pkgs-addons | while read -r pkg; do \
105+ if echo "$$pkg" | grep -v '^\/.*\|^[a-zA-Z]:.*' >/dev/null; then \
106+ continue; \
107+ fi; \
108+ echo ''; \
109+ echo "Cleaning add-on: $$pkg"; \
110+ cd $$pkg/src && $(MAKE) clean && \
111+ cd $$pkg && $(NODE_GYP) clean \
112+ || { echo "Error: failed to clean add-on: $$pkg"; exit 1; } \
113+ done
114+ else
87115 $(QUIET) $(MAKE) LIST_PKGS_ADDONS_FLAGS=$(install_node_addons_list_addons_flags) -f $(this_file) list-pkgs-addons | while read -r pkg; do \
88116 if echo "$$pkg" | grep -v '^\/.*\|^[a-zA-Z]:.*' >/dev/null; then \
89117 continue; \
@@ -94,5 +122,6 @@ clean-node-addons:
94122 cd $$pkg && $(NODE_GYP) clean \
95123 || { echo "Error: failed to clean add-on: $$pkg"; exit 0; } \
96124 done
125+ endif
97126
98127.PHONY : clean-node-addons
0 commit comments