GNU make通過在最後調用rm filename
自動刪除由隱式規則創建的中間文件。如果其中一個目標實際上是一個目錄,這顯然不起作用。看看下面的例子:如何獲取GNU make以移除由隱式規則創建的中間目錄?
.PHONY: all
all: test.target
%.target: tempdir.%
touch [email protected]
tempdir.%:
mkdir -p [email protected]
make -n
揭示了行動計劃:
mkdir -p tempdir.test
touch test.target
rm tempdir.test
是否有可能得到GNU做出正確處置中間的目錄?也許通過將rm
更改爲rm -rf
?