次の bash コマンドがあるとします。
for i in ./ x ; do ls $i ; done && echo OK
「ls ./」が実行され、次に「ls x」が実行されますが、これは失敗し (x がない)、OK は出力されません。
もしも
for i in x ./ ; do ls $i ; done && echo OK
次に、「ls x」が失敗しても、for ループの最後のステートメントが成功したため、OK が出力されます。これは、makefile で shell for loops を使用する場合の問題です。
x:
for i in $(LIST) ; do \
cmd $$i ;\
done
cmd の個々の実行のいずれかが失敗した場合、どのようにして make を失敗させることができますか?