1
我有一個生成文件,運行一組涉及各種文件的測試,並將結果寫入日誌文件。是否可以編寫makefile,以便在處理完文件中的所有其他目標後運行同一組shell命令,而不管發生的錯誤如何。我知道我可以使用shell腳本來調用makefile,然後使用shell命令,但是我想知道是否可以從makefile文件本身做到這一點,而不使用像make print
這樣的僞目標(例如, 。如何在編譯完文件中的所有目標後編寫makefile以運行shell命令?
任何方式來「捕捉」而不是忽略返回代碼,所以我們可以退出與測試錯誤代碼的結局? – Kaos 2016-04-15 09:01:25
@Kaos您可以使用http://stackoverflow.com/questions/11157083/makefile-output-and-exitcode-to-variable中的解決方案。然而,使用這個解決方案意味着你在評估目標依賴關係之前運行所有的測試*實質上是將Makefile轉換爲Bash腳本。如果要保留Makefile依賴項評估功能,那麼當您在Makefile目標配方中執行每個測試時,需要將每個測試的返回代碼寫入單獨的臨時文件,然後對最後一個目標中的結果或後Makefile完成執行。 – 2016-05-27 13:07:58
謝謝。我結束了一個單行shell命令: ''' test:update-version build-tools ;; gradle test; RET = $$? ; cp -r app/build/reports $ {DIST_DIR};退出$$ ret ''' – Kaos 2016-06-01 08:50:20