make の次のプロパティを確認し、以下のサンプルを確認してください。
- $@ - 現在のターゲット ファイルの名前を意味し、この場合は APP の値に対応します。
- $< - ターゲットが依存しているターゲットよりも新しい単一のファイルを意味します。
- $? - ターゲットが依存している現在のターゲットよりも新しいファイルのリストを意味します。
.サフィックス: .cpp.exe
CPP = cl
エクストラフラグ =
CPPFLAGS = /Od /D "WIN32" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /nologo /ZI /TP /errorReport:prompt
ファイル = 演習 35
アプリ = Exercise35.exe
.cpp.exe:
$(CPP) $(EXTRAFLAGS) $(CPPFLAGS) /c $<
すべて : $(APP)
$(アプリ) : $(ファイル)
$(CPP) $(EXTRAFLAGS) $(CPPFLAGS) $@ $(FILES)
clobber : きれいな mrproper
掃除:
del $(FILES)
適切な:
デル $(APP)
古いメイクファイル テンプレートからこれを取得しました。このように実行することで、1 つのメイク ファイル内で特にデバッグ/リリース用のフラグをオーバーライドできるため、メイクが「インテリジェント」で柔軟に見えることに注意してください。
EXTRAFLAGS="/D_DDEBUG" を作成します
これにより、追加の定義がメイクファイルに渡され、_DDEBUG
マクロが含まれます。リリースをビルドする場合は、コマンド ラインの EXTRAFLAGS を省略します。
編集:
マイクの指摘によると、exe とオブジェクト コードが横たわっているディレクトリをクリーンアップできるように、追加のルールを含めると便利だと思いました...これは、AIX からのオリジナルのテンプレート makefile でした ( Linux でも使用されます...) 頭を上げてくれた Mike に感謝します!
これがお役に立てば幸いです。よろしくお願いします、トム。