我認爲這是相當簡單的的Makefile:防止無限遞歸模式
%.png: ../figs/%.png
convert $? -resize '40%' [email protected]
也就是說,我想在「../figs/」來從相應的圖像此目錄中的圖像。
但是,上述導致依賴性無限鏈,因爲../figs/foo.png
匹配%.png
,因此使試圖檢查../figs/../figs/foo.png
,它匹配%.png
,因此作出嘗試。 。 。 最終,以「文件名太長」來停止。
我必須缺少一些東西。什麼是乾淨的解決方案?
謝謝!那很完美。有趣的是,Mac OS X附帶的GNU Make 3.81仍會與您的代碼一起生成無限鏈,而我單獨安裝的GNU Make 4.2.1則不會。這是否意味着這個問題最近才解決? – Ryo
看起來模式規則在[3.82](http://git.savannah.gnu.org/cgit/make.git/tree/NEWS)中轉換爲最短的詞幹順序,您可以在3.81中通過將空統治在另一個之前。 – user657267