我正在尝试使用特殊变量.RECIPEPREFIX以避免难以看到的标签,但它似乎不起作用。我的简单测试makefile是:
.RECIPEPREFIX = + all: + @echo OK
但是我收到了消息:
xxx:4: *** missing separator. Stop.
答案 0 :(得分:10)
您使用的是哪个版本的gnu make? 3.81?
.RECIPEPREFIX仅支持3.82。我已经在3.82上测试了你的样本并且它可以工作。
http://cvs.savannah.gnu.org/viewvc/make/NEWS?revision=2.109&root=make&view=markup
- 新的特殊变量:.RECIPEPREFIX允许您重置配方 从默认(TAB)到其他东西的引入字符。该 此变量值的第一个字符是新配方介绍 字符。如果变量设置为空字符串,则再次使用TAB。 它可以随意设置和重置;食谱将使用值激活时 他们首先被解析了。要检测此功能,请检查值 $(RECIPEPREFIX)。