在Makefile中设置环境变量

Makefile用来调用各类命令作自动化构建工具很是方便。最近在写给Flask项目写Makefile时,须要设置环境变量,却遇到一些小问题。工具

若是是在全局设置环境变量时很容易:code

export FLASK_ENV=dev
export FLASK_DEBUG=1

dev:
    @echo $(FLASK_ENV)
    @echo $(FLASK_DEBUG)

运行make dev时则返回:get

$ make dev
dev
1

可是若是须要在不一样target下设置不一样环境变量的话,这样就会有问题了。具体应该这样设置:自动化

dev:export FLASK_ENV=dev
dev:export FLASK_DEBUG=1
dev:
    @echo $(FLASK_ENV)
    @echo $(FLASK_DEBUG)

prod:export FLASK_ENV=prod
prod:export FLASK_DEBUG=0
prod:
    @echo $(FLASK_ENV)
    @echo $(FLASK_DEBUG)

这样再执行make devmake prod时,不一样的target下的环境变量就不会干扰了:构建工具

$ make dev
dev
1
$ make prod
prod
0
相关文章
相关标签/搜索