Vorrei cambiare questo Makefile:
SHELL := /bin/bash
PATH := node_modules/.bin:$(PATH)
boot:
@supervisor \
--harmony \
--watch etc,lib \
--extensions js,json \
--no-restart-on error \
lib
test:
NODE_ENV=test mocha \
--harmony \
--reporter spec \
test
clean:
@rm -rf node_modules
.PHONY: test clean
per:
SHELL := /bin/bash
PATH := node_modules/.bin:$(PATH)
boot:
@supervisor \
--harmony \
--watch etc,lib \
--extensions js,json \
--no-restart-on error \
lib
test: NODE_ENV=test
test:
mocha \
--harmony \
--reporter spec \
test
clean:
@rm -rf node_modules
.PHONY: test clean
Sfortunatamente il secondo non funziona (il processo del nodo funziona ancora con il valore predefinito NODE_ENV
.
Cosa mi sono perso?
all: <\n\t>export PROJ_ROOT=$(CURDIR)<\n\t>echo $(PROJ_ROOT)<\n>
genera l'espansione corretta per la prima riga, ma soloecho
per la seconda.PROJ_ROOT
non è impostato dopo aver eseguito make. Gli spazi intorno=
danno "nome variabile errato" per l'esportazione. Avere la prima riga come prerequisito come nel tuo esempio dà "i comandi iniziano prima del primo obiettivo"