package/nodejs: Define NPM command for other packages to use
authorMartin Bark <martin@barkynet.com>
Thu, 2 Jul 2015 09:43:27 +0000 (10:43 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 4 Jul 2015 12:38:44 +0000 (14:38 +0200)
Other nodejs-related packages will need to call npm with the same set of
arguments as is currently used by the nodejs package itself.

To avoid duplicating this code, set the NPM variable so those packages can
re-use it.

Signed-off-by: Martin Bark <martin@barkynet.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/nodejs/nodejs.mk

index 156b151bee581a46c658baa735fd9f198e3827d0..414f3f3d4916c19c982707a1a2dcb554e47572a2 100644 (file)
@@ -95,6 +95,15 @@ NODEJS_MODULES_LIST= $(call qstrip,\
        $(if $(BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT),coffee-script) \
        $(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL))
 
+# Define NPM for other packages to use
+NPM = $(TARGET_CONFIGURE_OPTS) \
+       LD="$(TARGET_CXX)" \
+       npm_config_arch=$(NODEJS_CPU) \
+       npm_config_target_arch=$(NODEJS_CPU) \
+       npm_config_build_from_source=true \
+       npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \
+       $(HOST_DIR)/usr/bin/npm
+
 #
 # We can only call NPM if there's something to install.
 #
@@ -104,14 +113,7 @@ define NODEJS_INSTALL_MODULES
        # npm install call below and setting npm_config_rollback=false can both
        # help in diagnosing the problem.
        (cd $(TARGET_DIR)/usr/lib && mkdir -p node_modules && \
-               $(TARGET_CONFIGURE_OPTS) \
-               LD="$(TARGET_CXX)" \
-               npm_config_arch=$(NODEJS_CPU) \
-               npm_config_target_arch=$(NODEJS_CPU) \
-               npm_config_build_from_source=true \
-               npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \
-               $(HOST_DIR)/usr/bin/npm install \
-               $(NODEJS_MODULES_LIST) \
+               $(NPM) install $(NODEJS_MODULES_LIST) \
        )
 
        # Symlink all executables in $(TARGET_DIR)/usr/lib/node_modules/.bin to