在Makefile中,deploy
配方需要设置一个环境变量ENV
以正确执行自身,而其他配方则不在乎,例如:
ENV =
.PHONY: deploy hello
deploy:
rsync . $(ENV).example.com:/var/www/myapp/
hello:
echo "I don't care about ENV, just saying hello!"
我如何确定设置此变量,例如:是否可以将此makefile变量声明为部署配方的先决条件,例如:
deploy: make-sure-ENV-variable-is-set
?
谢谢。
make ENV=dev
但是如果他忘记了ENV=dev
,则deploy
配方将失败...
make
设置它,还是发出警告,或者产生致命错误?