我的 Makefile
venv:
 virtualenv / var / www / env&& source / var / www / env / bin / activate



 但我只想这样做 / var / www / env
不存在
我该怎么做

答案 0 :(得分:0)
不幸的是,make
规则不支持负面条件。
常见的解决方法是使用虚拟文件来标记条件;在这种情况下,您可能会有类似
的内容var-www-env-does-not-exist:
if [ -d /var/www/env ]; then touch $@; else rm -f $@; exit 1; fi
venv: var-www-env-does-not-exist /var/www/env/bin/activate
virtualenv /var/www/env && source /var/www/env/bin/activate
另一个想法是编写并调用调用virtualenv
的脚本,但也正确处理现有/var/www/env
的情况。