2011-10-28 48 views
0

我想制定一個規則,將格式爲1/2/112.jpg的文件轉換爲1/2/th/112_s.jpgMakefile中的非平凡圖案替換

然而,patsubst太弱:

$(patsubst /%.jpg,/th/%_s.jpg,$(var)) 

不起作用,因爲patsubst希望在字符串整個模式匹配。

這是可以做到的嗎?

回答

1

(我只用GNU做,所以我從來沒有刻意去了解哪些功能是特定於它。這種解決方案可能需要使用GNU make。)

把它拆開,更改和重新組裝。

 
$(dir $(var))$(patsubst %,th/%_s,$(basename $(var))).jpg 
+0

'$(var)'包含一個文件名列表。 – Tordek

+1

$(foreach var,$(ORIGINALS),$(dir $(var))$(patsubst%.jpg,th /%_ s,$(notdir $(var)))jpg) 這是完整的解決方案。謝謝你的幫助 :)。 – Tordek