私はmakefileが依存ファイルを自動的に作成し、再構築が必要かどうかを判断できるようにしたい。
それを行うための方法を探している間は、私は、次の解決策を見つけた:私は私のメイクファイルに次の行を追加している:外出先で依存ファイルを作成し、再構築するかどうかを決定できますか?
-include $(OBJS:.o=.d)
とレシピへの.oファイルに
%.o: %.cpp
$(CC) $(CFLAGS) $(DEBUG) $<
を構築するためのIそれが含まれ、.oファイルをビルド無視し、ライン
$(CC) $(STD) -MM $< -o $*.d
私が正しく理解していれば
、.oのファイルが存在しないすべての時間を追加しました。後でmakeを再実行すると、この.oファイル(.dファイルから取得)の依存関係がチェックされ、.oファイルを再構築する必要があるかどうかが決定されます。 そのために、プロジェクトをビルドすると、これらの.dファイルをすべて保存する必要があります。私が望むのは、makeが.oファイルを再構築するかどうかを決定するたびに、.oファイル用の.dファイルを生成することです。この.dファイルによれば、終了時に.dファイルを再構築して削除するかどうかを決定します。
私はそれを達成する方法はありますか?
私は私の意志を十分に明確に表現したいと思います。ない場合は、ここで私が想像する流れです:
if (.o file doesn't exist): build it
otherwise: build a .d file
rebuild or do nothing (according to the .d file)
delete the .d file
[Makefile(Auto-Dependency Generation)](http://stackoverflow.com/questions/8025766/makefile-auto-dependency-generation)の可能な複製。余分な行を取り除き、代わりに '-MMD -MP'を使います。 – user657267