我处于某种情况下,我想做的事情是目标返回错误。我的代码是:
pre-submit:
cp test.csv test.csv.bk
make test.csv
make lint
rm test.csv.bk
这很好。但是在某些情况下,make lint
或make test.csv
会出现错误,在这种情况下,我想删除test.csv
(如果有)并将test.csv.bk
重命名为test.csv
我找不到我们是否可以捕获从 target
引发的错误编辑:皮棉看起来像这样:
.PHONY: lint
lint: | env
./env/bin/python lint.py
答案 0 :(得分:2)
一种执行所需操作的方法是使用shell:
pre-submit:
cp test.csv test.csv.bk
(make test.csv && make lint) || mv test.csv.bk test.csv
但是您也可以使用Make本身:
pre-submit: test.csv.new lint
mv test.csv test.csv.bk
mv test.csv.new test.csv