たなか です。 興味が出たのでやってみました。 (2013/03/28 15:23), KISHIMOTO, Makoto wrote: > (Makefileの例) (中略) > foo : foo_src.txt > gen_foo foo_src.txt > foo (中略) > GNU make には、コマンドが異常終了した場合や、さらに .DELETE_ON_ERROR > というターゲットがあれば、終了ステータスが 0 でなければ、中途半端に > 作られた(であろう)ターゲットファイルを削除してくれる、という > 機能があります。 > > FreeBSD の make( /usr/bin/make の make )では、^C で中断された場合 > には、ターゲットファイルを削除してくれるのですが、他の正常終了で > ない場合に、削除させる方法は無いのでしょうか?
各アクションに書くことになりますが、コマンドが異常終了した場合に rmが動作するようにすれば、それらしい動作になると思います。 元の例だと次のような感じでしょうか。 foo: foo_src.txt gen_foo foo_src.txt > foo || (rm foo ; exit 1) #最後に「exit 1」するのがコツ :-) 参考になれば幸いです。 では -- たなかえいじ