0
我想在我的Makefile中運行uninstall
目標時使用函數/宏來交換兩個文件。如何在GNU make函數中交換兩個文件?
這裏是我有的只留下其中的一個文件和刪除其他兩個:
swap = mv $(1) $(3); mv $(2) $(1); mv $(3) $(2)
uninstall:
@$(call swap,`printf "%s\n" $(FILE).* | sort -r | sed -n 1p`,\
$(FILE),$(shell mktemp $(FILE).XXX))
你沒有運行'mktemp'命令的任何地方。試試'@set -x; $(call ....)'看看實際運行的是什麼。這應該對你有所幫助。 –
從我的編輯器複製粘貼時出現本地錯誤。我正在嘗試使用'ticks'和'$(shell ...)'。我已經更新了這個例子。 –
上述函數實際上起作用,如果我只是'$(call 1,2,3)',問題出現在'mktemp'的某處。 –