0

似乎 subshel​​l 没有检索到 "$@" 的结果,所以没有什么可做的替换。

%_bust.css: %.css
    @echo $(echo $@ | sed s/_bust/$(BUSTER)/g)
4

3 回答 3

4

替换$()为``。前者是 GNU make 变量扩展。

于 2012-02-22T09:52:05.990 回答
1

你让它变得不必要的复杂。您不需要嵌套的echo.

%_bust.css: %.css
    @echo $@ | sed s/_bust/$(BUSTER)/g
于 2012-02-22T15:42:04.203 回答
0

您还可以使用make's 文本替换机制。

@echo $*$(BUSTER).css
@echo $(subst _bust,$(BUSTER),$@)

后者特定于 GNU Make,在这种特殊情况下不太精确和优雅。

于 2012-02-22T09:58:42.077 回答