我想寫一個GNU make調用函數(下面的例子),它有多個shell命令來執行,這樣它可以用不同的參數調用。GNU使多個參數和多個命令的調用函數
shell_commands = $(shell echo $(1); ls -ltr $(2))
try:
$(call shell_commands,$(FILE1),$(FILE2))
1)超出了用多個命令編寫調用函數的正確方法嗎?用分號分隔它們?爲了使它可讀,我編寫了我的目標,如下所示。有沒有類似的方式來編寫一個調用函數?
shell_commands:
echo $(1)
ls -ltr $(2)
2)我執行make -B try
時出現此錯誤。它看起來像試圖執行/ home/user/file1。但爲什麼?
make: execvp: /home/user/file1: Permission denied
make: *** [try] Error 127
3)是否可以將可變數量的參數傳遞給一個調用函數?就像傳入第二個參數而不是第一個參數一樣。
$(call shell_commands,,$(FILE2))
我嘗試谷歌搜索,搜索所以,並在gnu.org上看,但我沒有得到任何解決方案。將欣賞任何答案或指向任何資源的文檔調用具有多個可選參數和命令的函數。
謝謝!基本上,我想重用通用功能。想通了,我可以通過使用變量 - 在一個公共文件中設置默認值並將其覆蓋在主make文件中。 – Wilderness 2014-09-28 18:14:15