我有一個makefile,我想從中調用另一個外部bash腳本來完成建築的另一部分。我最好怎麼去做這件事。從make文件運行bash腳本
24
A
回答
24
就像從一個makefile調用任何其他命令:
target: prerequisites
shell_script arg1 arg2 arg3
關於你進一步的解釋:
.PHONY: do_script
do_script:
shell_script arg1 arg2 arg3
prerequisites: do_script
target: prerequisites
5
每個在makefile規則的行動是,將在執行的命令子shell。您需要確保每個命令都是獨立的,因爲每個命令都將在單獨的子shell中運行。
出於這個原因,你會經常看到換行符逃脫當筆者想要幾個命令在同一子shell中運行:
targetfoo:
command_the_first foo bar baz
command_the_second wibble wobble warble
command_the_third which is rather too long \
to fit on a single line so \
intervening line breaks are escaped
command_the_fourth spam eggs beans
0
也許不是「正確」的方式做到像已經提供的答案,但是我遇到了這個問題,因爲我想讓我的makefile運行我編寫的腳本來生成一個頭文件,該文件將爲整個軟件包提供版本。我在這個軟件包中有很多目標,並且不想爲它們添加全新的先決條件。把它放在我的makefile的開頭爲我工作
$(shell ./genVer.sh)
它告訴make只是運行一個shell命令。 ./genVer.sh
是要運行的腳本的路徑(與makefile相同的目錄)和名稱。無論我指定哪個目標(包括clean
,這都是缺點,但最終對我來說不是一個大問題),它都會運行。
相關問題
- 1. 運行BASH腳本文件
- 2. 從bash腳本文件運行docker-compose
- 3. bash腳本從rc.local運行
- 4. 從java運行bash腳本
- 5. 從JVM運行bash腳本
- 6. 從R腳本運行bash腳本
- 7. 從PHP腳本運行bash腳本
- 8. 從bash腳本調用make不會使
- 9. 從bash腳本運行可執行文件
- 10. Bash腳本:從文件打印grep'd行
- 11. 從bash腳本執行R文件
- 12. 從Windows bat文件執行bash腳本
- 13. 多行bash腳本和make文件指令評估的bash變量的串聯
- 14. 並行運行bash腳本
- 15. 並行運行bash腳本?
- 16. 快速bash腳本在指定文件夾中運行腳本?
- 17. 從根bash腳本運行非根文件
- 18. 如何從廚師配方運行bash腳本文件
- 19. 運行bash腳本捲曲從網絡
- 20. 如何從Java運行bash腳本
- 21. 如何從magento運行bash shell腳本?
- 22. 從bash腳本運行幾個命令
- 23. 從incron運行bash腳本的問題
- 24. 從Windows PowerShell運行bash腳本
- 25. 從Applescript內運行bash腳本
- 26. bash腳本從命令行運行但不是從cron運行
- 27. Bash腳本運行php腳本
- 28. awk的運行bash腳本
- 29. 從Octave中的其他腳本文件運行腳本文件
- 30. bash腳本:文本行
但我需要在先決條件 – 2010-03-23 23:47:45
@Matthew之前運行腳本,那麼您的makefile設置不正確。製作一個新的'.PHONY'目標,以滿足您的先決條件,並在該目標中運行該腳本。 – 2010-03-24 00:15:57
爲您的案例編輯更多。 – 2010-03-24 00:17:19