我有一個for循環的Makefile。問題是當循環內發生錯誤時,執行繼續。Makefile:for循環和錯誤中斷
SUBDIRS += $(shell ls -d */ | grep amore)
# breaks because can't write in /, stop execution, return 2
test:
mkdir/
touch /tmp/zxcv
# error because can't write in/but carry on, finally return 0
tests:
@for dir in $(SUBDIRS); do \
mkdir/; \
touch /tmp/zxcv ; \
done;
如何在遇到錯誤時停止循環?
是的,我也在考慮這個問題,但不確定依賴關係在哪裏以及什麼語義應該是這樣的;-) –
我明白你的意思了。我有一個問題,但。在我的Makefile中,我有幾個目標(clean,install,...),每個循環遍歷子文件夾並在子目錄中調用相應的目標。我看不出如何調整你對這個用例的建議。 – Barth
@Barth有很多玩這個的方法。我會在我的答案中加一個。 – bobbogo