【发布时间】:2012-05-27 21:03:41
【问题描述】:
$(foreach name, $(patsubst lib%.a,%,$(LIBS)), \
$(eval lib$(name).a : lib$(name).a($$($(name)_OBJS))))
上一行中的 Make 失败,说缺少分隔符。
:68: *** missing separator. Stop.
【问题讨论】:
-
我不知道你的问题的答案。您想要的双重扩展很棘手。但是,我在您的 Makefile 文本中看到了
$$。如果您使用的是 GNU Make,您是否调查过.SECONDEXPANSION目标? -
我收到
*** No rule to make target `libLIB.a(OBJ.o)', needed by `libLIB.a'. Stop. -
另外,您应该能够使用比等效的
patsubst调用更短的$(LIBS:lib%.a=%)。
标签: makefile