「アラート センター」と呼ばれる小さなプログラムを作成しています。使用している主なクラス/オブジェクトは、ポイント、ライン、およびビルディングです。私の Makefile の内容は次のとおりです。
building.o: building.h line.h point.h building.cpp
g++ -c building.cpp
line.o: line.h point.h line.cpp
g++ -c line.cpp
point.o: point.h point.cpp
g++ -c point.cpp
alert_center: point.o line.o building.o
g++ point.o line.o building.o runner.cpp -o alert_center
問題は、リストされている最初のファイルのみが考慮されることです。たとえば、 を変更line.cpp
してから を実行するmake
と、何も起こらず、building.o
変更されていないと表示されます。最初のルールを作成した場合にのみ、変更がコンパイルされline.o
ます。なぜこれが起こっているのか誰にも分かりますか?