我想編碼規則「,使<name>.done
,你需要的模式<name>.needed.*
的所有文件,我已經嘗試用這個Makefile這樣寫:。
%.done: $(wildcard %.needed.*)
cat $^ > [email protected]
然而,當我運行touch foo.needed.bar && make foo.done
,我得到的是
cat > foo.done
看樣子裏面$(wildcard)
的%
被解釋爲一個文字「%」。我怎樣才能得到它擴展到正確的價值(在這種情況下,「富」)?
'widcard' - >'wildcard'想必 –
是的,正確。 –
解釋爲什麼它不起作用:在解析過程中,配方參數(源,輸入和依賴關係)已經被評估/擴展,因此'$(通配符)'被調用'%',沒有找到文件,並且被替換爲空字符串。延遲評估僅適用於命令。僅供參考。 – Dummy00001