いくつかの依存関係の生成を実行する Makefile を作成してきましたが、(レガシー) コードベースには.cpp
と.cc
ファイルが混在しているため、ルールを複製する必要があることに気付きました。少し見栄えが悪いようです。.cpp
ターゲットの前提条件がファイルまたはファイルのいずれかになるように指定する方法はあり.cc
ますか?
したがって、次のようにするのではなく:
%.d : %.cpp
$(CPP) -MM $(CPPFLAGS) $<
%.d : %.cc
$(CPP) -MM $(CPPFLAGS) $<
次のような重複のないものを作成します。
%.d : %.(cpp | cc)
$(CPP) -MM $(CPPFLAGS) $<
それとも、この強制された冗長性は、GNU Make の設計の不幸な要素にすぎないのでしょうか?