Makefile でマスター ビルド ターゲットを作成しています。「all_images」のようなターゲットがあります
all_images: fast_image slow_image
fast_image: clean_objects dep_1 dep_2 dep_3
slow_image: clean_objects dep_1 dep_2 dep_3
fast_image には makefile に他の条件があり、最終的なイメージ名に fast_image が含まれ、slow_image には同じ名前が含まれます。
fast と slow のビルドの間にクリーンアップしたい (すべての .o ファイルを削除します。明らかに最終的なイメージではありません) が、これを行うと、fast_image の実行中に既に発生しているため、2 回目は clean_objects は発生しません。
「slow_image は変更されたものをすべて再構築する必要があるため、クリーンアップする必要はありません」と言う前に、私たちの特定の環境には、コード生成を行う非常に複雑な makefile、gnu_make のキックオフを行う clearmake などがあります。間にオブジェクトをクリーンアップする必要があります。すでに発生した依存関係を強制的に発生させる方法はありますか? どこにでも行ってすべての .o ファイルを手動で削除できることはわかっていますが、clean_objects ターゲットは既にオフになっており、あらゆる種類の複雑なオブジェクトの削除を行う依存関係がたくさんあります。私はする必要はありません。
ありがとう!