[make]make cleanの実行時に"No such file or director"エラー

カテゴリ: Linux | タグ:

Linuxのコンパイル処理などで自分でMakefileを書いた時、make cleanコマンドを実行すると、以下のようにNo such file or directoryエラーになることがあります。

$ make clean
rm *.o
rm: cannot remove '*.o': No such file or directory

原因

rmコマンドが削除対象ファイルを見つけられなかった為です。

対応方法

rmコマンドで対象ファイルが無くてもエラーメッセージが出ないよう、Makefileの中で実行するrmコマンドに-fオプションをつけておけばよいです。

clean:
        rm *.o

clean:
        rm -f *.o

もし、rmコマンドが削除対象ファイルを見つけられずに戻り値として0以外のエラーコードを返すことで、この結果makeコマンド自体がエラーになってしまう場合は、以下のようにrmコマンドの前に"-"をつけるとmakeがrmコマンドの戻り値を無視するようになります。

clean:
        -rm -f *.o
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。