次のようなフォルダー レイアウトのプロジェクトがあります。
/project_root
/common-code-sources
/common1
/common2
/...
/prog-A-sources
/prog-B-sources
/prog-C-sources
プログラム A、B、および C 用に 3 つの実行可能ファイルを作成する必要がありlibCommonCodeN.a
ます。
ただし、特定のコンパイル フラグ セットを使用して、プログラム C とそれに必要なすべての共通コード ライブラリをビルドする必要があります。(この場合、32 ビットで、いくつかの最適化が無効になっています。)
これはcommon_sources
、プログラム C が必要とする特定のコードを、正しいフラグを使用してもう一度コンパイルする必要があることを意味します。
この状況をカバーするための Makefile ベースのビルド システムを最適に作成する方法についてのアイデアを探しています。
ソリューションには、lib ファイル用の並列出力フォルダーと、プロセスをガイドするいわゆる「ターゲット固有の」make
変数が含まれると考えていますが、すべてを組み合わせる方法がわかりません。
質問:ソース make
の 1 つが変更されたときに、プロジェクトのルートでの実行が正しいことを確認するにはどうすればよいですか?common-code
つまり、問題の特定の 2 つのフレーバーを再構築し.a
、3 つの実行可能ファイルを再リンクするにはどうすればよいでしょうか?