我有一個文件夾佈局的項目,如:GNU Make:如何構建一個通用庫作爲32位和64位?
/project_root
/common-code-sources
/common1
/common2
/...
/prog-A-sources
/prog-B-sources
/prog-C-sources
三可執行文件需要製作方案A,B和C.每個人都有獨特的獨特的源代碼量小,但大多預計靜態鏈接來自各種libCommonCodeN.a
文件的功能。
但是,我需要構建程序C以及所有需要的通用代碼庫以及一組特定的編譯標誌。 (在這種情況下,32位並禁用某些優化)
這意味着程序C所需的common_sources
下的特定代碼必須第二次使用正確的標誌編譯。
我正在尋找關於如何最好地創建基於Makefile的構建系統以涵蓋這種情況的想法。
我在想這個解決方案會涉及一個用於lib文件和所謂的「目標特定」變量的並行輸出文件夾來指導這個過程,但我不確定如何將它們放在一起。
問題:我如何能確保在項目的根目錄運行make
做正確的事時的common-code
來源之一發生了變化?
那就是:我怎樣才能重建有問題的特定.a
的兩種風味,並重新鏈接3個可執行文件?