在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
相關文章
相關標籤/搜索