以下の簡単なMakefileを考えてみましょう。それぞれに対応する.hと.cppファイルを持つ2つのクラスがあることに注目してください。C++プログラム用の堅牢なMakefileの作成
output: main.o class1.o class2.o
g++ main.o class1.o class2.o -o output
main.o: main.cpp
g++ -c main.cpp
class1.o: class1.cpp class1.h
g++ -c class1.cpp
class2.o: class2.cpp class2.h
g++ -c class2.cpp
clean:
rm *.o output
このメイクファイルは堅牢ですか?どうすればより堅牢にすることができますか?誰かがこのMakefileのより堅牢なバージョンを提供できますか? 64ビットRed Hat LinuxまたはCentOSマシン上で実行されます。
それが重要ならば、私が使用しています:
-gcc --version 4.8.4(GNUコンパイラコレクションより)
-gdbバージョン:GNU gdbの(Ubuntuの7.7.1〜14.04 -0ubuntu5を0.2)7.7.1
「堅牢」とは何ですか? Makefileにはいくつかの欠陥があります(例えば、強制フラグとオプションフラグを設定する方法、自動依存トラッキング、VPATHビルドを設定しないなど)。 – ensc
CMakeを使用している場合、なぜMakefileを持っていますか? – Biffen
@ビフェン - 私はCMakeなしで他の誰かに申請書を送付しなければなりません。 –