似乎 subshell 没有检索到 "$@" 的结果,所以没有什么可做的替换。
%_bust.css: %.css
@echo $(echo $@ | sed s/_bust/$(BUSTER)/g)
替换$()
为``。前者是 GNU make 变量扩展。
你让它变得不必要的复杂。您不需要嵌套的echo
.
%_bust.css: %.css
@echo $@ | sed s/_bust/$(BUSTER)/g
您还可以使用make
's 文本替换机制。
@echo $*$(BUSTER).css
@echo $(subst _bust,$(BUSTER),$@)
后者特定于 GNU Make,在这种特殊情况下不太精确和优雅。