0
我工作的項目通常是在多個操作系統和多種配置下構建和運行的。我使用兩個編譯器:icc和gcc,以及這些編譯器的多組參數。這可以給我很多變種的一個項目的構建。如何使用makefile構建一個項目的多種變體?
我想要做的是:使用ICC或gcc編譯器與一組參數
- 編譯項目>
- 比較獲得的結果
- 爲另一組參數編譯項目並重覆上述步驟
有沒有人有一個想法如何很好地使用makefile做到這一點?
我工作的項目通常是在多個操作系統和多種配置下構建和運行的。我使用兩個編譯器:icc和gcc,以及這些編譯器的多組參數。這可以給我很多變種的一個項目的構建。如何使用makefile構建一個項目的多種變體?
我想要做的是:使用ICC或gcc編譯器與一組參數
- 編譯項目>
- 比較獲得的結果
- 爲另一組參數編譯項目並重覆上述步驟
有沒有人有一個想法如何很好地使用makefile做到這一點?
你只需要根據自己的需要級聯你的化妝目標: 如:
# Assumed that $(CONFIGURATION_FILES) is a list of files, all named *.cfg
# There you store your set of arguments per step
#The main target
all: $(CONFIGURATION_FILES)
#Procedure for each configuration-file
%.cfg: compile_icc compile_gcc test compare
compile_icc:
#DO whatever is necesarry
compile_gcc:
#DO whatever is necesarry
test:
#DO whatever is necesarry
compare:
#DO whatever is necesarry
然而,對於這樣的工作,我寧願用一些構建自動化工具......我只知道Maven,但是對於基於Makefile的構建,其他一些工具可能更適合...查看不同的選項,例如在這裏: https://en.wikipedia.org/wiki/List_of_build_automation_software
必須詳細說明步驟2和3。通過「表演」你的意思是速度,內存使用,其他什麼東西?你想如何「比較」結果 - 只是驗證它們是相同的,還是在某種意義上相似?一個好的測試工具可能非常簡單或非常複雜,這取決於您測試的內容。 – Beta