shell – 如何在Makefile中设置环境变量

前端之家收集整理的这篇文章主要介绍了shell – 如何在Makefile中设置环境变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想更改这个Makefile:
  1. SHELL := /bin/bash
  2. PATH := node_modules/.bin:$(PATH)
  3.  
  4. boot:
  5. @supervisor \
  6. --harmony \
  7. --watch etc,lib \
  8. --extensions js,json \
  9. --no-restart-on error \
  10. lib
  11.  
  12. test:
  13. NODE_ENV=test mocha \
  14. --harmony \
  15. --reporter spec \
  16. test
  17.  
  18. clean:
  19. @rm -rf node_modules
  20.  
  21. .PHONY: test clean

至:

  1. SHELL := /bin/bash
  2. PATH := node_modules/.bin:$(PATH)
  3.  
  4. boot:
  5. @supervisor \
  6. --harmony \
  7. --watch etc,json \
  8. --no-restart-on error \
  9. lib
  10.  
  11. test: NODE_ENV=test
  12. test:
  13. mocha \
  14. --harmony \
  15. --reporter spec \
  16. test
  17.  
  18. clean:
  19. @rm -rf node_modules
  20.  
  21. .PHONY: test clean

不幸的是,第二个不工作(节点进程仍然运行默认NODE_ENV。

我错过了什么?

Make变量不会导出到进程调用的环境中…默认情况下。然而,你可以使用make的导出来强制他们这样做。更改:
  1. test: NODE_ENV = test

对此:

  1. test: export NODE_ENV = test

(假设你有一个足够现代版本的GNU make)。

猜你在找的Bash相关文章