私は現在複数ファイルのプログラムを書いており、どういうわけか(ほとんどの状況で直感的に行う必要があると直感的に考えると) 'make'だけを実行すると、プログラムが失敗します。問題の詳細を提供できると思いますが、重要なことは、「make clean」を使用したときに実行されることです。だから、誰かが「make」だけでなく「make clean」を実行するための一般的な経験則を知っているのかと思っていました
2つの状況でmake cleanを実行します-ソースコードをパッケージ化する場合(したがって、ビルドされたオブジェクトを必要としない/必要としない場合)ORビルドされたと信じる理由がある場合オブジェクトは不良です。
あなたのケースでは、バグの多いMakefileの結果である可能性が高い問題を修正するために「make clean」を使用しています。何かが必要なときに再コンパイルされていないため、出力バイナリが不良になっています。
プロジェクトの複雑さ、およびmakeの使用方法に応じて、発生する可能性のある多くの理由がありますが、その要点は、Makefileのデバッグに時間をかける必要があることです。
マイケル・コーネの回答一般に同意します。 「make clean」が実際に何をするかを知るために、インストールドキュメントを読む必要があると付け加えます。 「make realclean」や「make distclean」など、使用する必要があるさまざまなレベルのクリーンが存在する可能性があります。これらには非公式の慣習がありますが、石に刻まれたものはありません。
これはあなたのプロジェクトであることを理解しているので、makefile
です。私の目標は、make
alwaysが正しいビルドを生成できるようにすることです。 make clean
はいくつかの状態から回復するために必要ですが、私の意見ではmakefile
は間違っているため、修正する必要があります。依存関係が正しく計算されている場合、単純なmake
で、再コンパイルする必要があるすべてを再コンパイルする必要があります。
私は毎晩のビルドの前に「make clean」を実行しました。その場合、フルビルドを実行するのにかかる追加の時間はおそらくそれほど重要ではありませんが、すべてが正しいバージョンであることを確認することで得られる追加の安全性は、おそらくそれだけの価値があります。