如果我有ñ命令的列表,Ç = C1 ... CN,我怎麼可以爲了執行它們對於給定的目標是什麼?我試過的foreach構建如何在列表中執行每個命令?
$(foreach x,$(c),./$(x))
但這使在一行中的所有命令。任何線索?
如果我有ñ命令的列表,Ç = C1 ... CN,我怎麼可以爲了執行它們對於給定的目標是什麼?我試過的foreach構建如何在列表中執行每個命令?
$(foreach x,$(c),./$(x))
但這使在一行中的所有命令。任何線索?
您發現的問題(「但這使在一行」所有命令)。只需在循環中展開$x
就可以追加換行符。
define \n
endef
現在只需在您的食譜中使用$(foreach x,$c,./$(x)${\n})
。
好的,謝謝bobbogo! –
如果沒有需要檢查的成功,再加入分號應該工作:
$(foreach x,$c,./$(x);)
如果你需要的,如果在列表中的命令之一返回失敗失敗,你需要打破它的步驟。而不是直接執行的命令,我們總結執行中進行函數:
define execute-command
$(1)
endef
execute-list:
$(foreach x,$(c),$(call execute-command,./$(x)))
聽起來就像你想讓bash超過Make。 – Flexo