Me gustaría cambiar este 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
a:
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
Lamentablemente, el segundo no funciona (el proceso de nodo todavía se ejecuta con el valor predeterminado NODE_ENV
.
¿Qué me perdí?
all: <\n\t>export PROJ_ROOT=$(CURDIR)<\n\t>echo $(PROJ_ROOT)<\n>
genera la expansión correcta para la primera fila, pero soloecho
para la segunda.PROJ_ROOT
no se establece después de ejecutar make. Los espacios alrededor=
dan "nombre de variable incorrecto" para la exportación. Tener la primera fila como prerrequisito como en su ejemplo da "los comandos comienzan antes del primer objetivo"