【发布时间】:2019-08-24 23:12:45
【问题描述】:
makefile中二次扩展的范围是什么?
如果我输入:
.SECONDEXPANSION:
这种变化在哪里停止?从那时起,它是否适用于所有目标?还是只到下一个目标?
【问题讨论】:
makefile中二次扩展的范围是什么?
如果我输入:
.SECONDEXPANSION:
这种变化在哪里停止?从那时起,它是否适用于所有目标?还是只到下一个目标?
【问题讨论】:
从那时起它适用于所有目标。来自the docs:
...All the prerequisites of the targets defined after the special target are expanded a second time.
如果您对文档有疑问,可以尝试一下。修改文档中的示例:
.SECONDEXPANSION:
main_OBJS := main.o try.o test.o
lib_OBJS := lib.o api.o
main: $$($$@_OBJS)
@echo prerequisites are $^
lib: $$($$@_OBJS)
@echo prerequisites are $^
【讨论】: