0

私はMakefilesにかなり慣れていません。の標準的なセマンティクスがわかりませんmake clean。次のうち正しいものはどれですか?

  • make cleanリポジトリ内の他のファイルからビルドされたすべてのファイルを削除する必要があります。例えば:

    clean:
        @rm -rf dist
    
  • make cleanリポジトリ内の他のファイルから作成されたファイル、またはによって追加されたmake setupすべてのファイルを削除する必要があります。例えば:

    clean:
        @rm -rf dist
        @rm -rf node_modules # remove npm packages installed by `setup`
    

あるファイルを別のファイルから構築する場合、通常はインターネット接続は必要ありませんが、サードパーティの依存関係を取得する場合は必要になることがよくあります。make cleanこれは、によってインストールされたサードパーティの依存関係を削除してはならないことを示唆していmake setupます。ただし、サードパーティの依存関係のソースを変更している場合は、おそらくこれらの変更を吹き飛ばすことは、まさに期待どおりのことmake cleanです。

言い換えれば、 「元にmake clean戻す」べきですかmake、それとも元に戻すべきmake setup && makeですか?

4

1 に答える 1

1

一般的に、何をするかはあなた次第ですmake clean 。あなたが引用したルールは単なる慣例です。

ただし、基本的に呼び出す理由には次のようなものがありmake cleanます。

  • すべてが完了したら、できるだけ多くのディスク領域を解放してください。
  • 何か問題が発生し (タイム スタンプなど)、インクリメンタル ビルドが機能しなくなった場合に備えて、最初からやり直すことができます。

最初のケースに関しては、「すべてが完了した」というセマンティクスに応じて、両方の選択肢が正当化される可能性があります。make uninstallただし、インストールを (すべて) やり直したいと思います。

于 2013-02-23T21:57:17.203 に答える