サブディレクトリも make する
SUBDIRS = sub1 sub2 |
という Makefile を動かしてたが、中でエラーが起きても make が中断されない。 なんでかなーと思って Makefile の文法をあれこれ調べてたんだけどなかなかわからなかった。
でようやくわかったのは、for
は Makefile の構文じゃなくて、単なるシェルの呼び出しだった!あまりに基本的なことすぎてどこにも書いてなかった。
だから複数行にわたる場合は行末に「\
」を書いたり、「$
」を2つ重ねたりする必要があるのか。
シェルの文法もまた好きじゃないんだよな~醜いしさ…。
サブディレクトリの make に失敗したら止めたい場合は、シェルのひとつ前の値 $?
を調べて:
build: |