きしもとと申します make で生成物を管理していて、
(Makefileの例) bar : foo gen_bar foo foo : foo_src.txt gen_foo foo_src.txt > foo のようにリダイレクトでターゲットファイルを生成している場合など、 コマンドの実行がエラーになっても、ターゲットファイルが作られて しまい、make を再実行すると、この例の場合だと 正しく作られて いない foo から bar を生成しようとしてしまいます。 GNU make には、コマンドが異常終了した場合や、さらに .DELETE_ON_ERROR というターゲットがあれば、終了ステータスが 0 でなければ、中途半端に 作られた(であろう)ターゲットファイルを削除してくれる、という 機能があります。 FreeBSD の make( /usr/bin/make の make )では、^C で中断された場合 には、ターゲットファイルを削除してくれるのですが、他の正常終了で ない場合に、削除させる方法は無いのでしょうか? # 調べていたところ "What is BSD make?" というスレッドを見つけました # http://mail-index.netbsd.org/netbsd-users/2008/10/thread2.html#002183 # これによると NetBSD の make は FreeBSD の make とだいぶ違うとの # ことですがこの質問は一応 FreeBSD の make についてということで # お願いします。