makefile から複数のmakefile を呼び出した場合の動作
環境:
- OS : CentOS 7
- make : GNU Make 3.82
トップの makefile は以下のようになっており、SUB1,SUB2,SUB3 のmakefile を呼び出すようになっていたとします。
SUB1,SUB2,SUB3 の makefile には C ソースをコンパイルするだけの単純なものとします。
TARGET_LIST=SUB1 SUB2 SUB3
all:
@for d in $(TARGET_LIST); do make -C $$d; done
そこで質問があります。
- (1) この状態で、SUB1 内でコンパイルエラーが発生した場合、SUB2,SUB3
が実行されてしまいますが実行されるのが通常の動作なのでしょうか?(make -k した状態に見える) - (2) そもそも (1) の状態になることが異常で、なにかしら makefile に記載ミスがあるのでしょうか?
- (3) makefile から makefile を呼び出した場合は、エラー発生時の停止条件はどうのような扱いとなるのでしょうか?(exit 1;?等の扱いを別途考慮し、makeifle を記載するべき?)
以上、よろしくお願いします。