2012-09-05 116 views
0

我工作的項目通常是在多個操作系統和多種配置下構建和運行的。我使用兩個編譯器:icc和gcc,以及這些編譯器的多組參數。這可以給我很多變種的一個項目的構建。如何使用makefile構建一個項目的多種變體?

我想要做的是:使用ICC或gcc編譯器與一組參數

  • 測試的應用程序的性能befor後新建

    • 編譯項目>
    • 比較獲得的結果
    • 爲另一組參數編譯項目並重覆上述步驟

    有沒有人有一個想法如何很好地使用makefile做到這一點?

  • +0

    必須詳細說明步驟2和3。通過「表演」你的意思是速度,內存使用,其他什麼東西?你想如何「比較」結果 - 只是驗證它們是相同的,還是在某種意義上相似?一個好的測試工具可能非常簡單或非常複雜,這取決於您測試的內容。 – Beta

    回答

    1

    你只需要根據自己的需要級聯你的化妝目標: 如:

    # 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

    相關問題