【问题标题】:make: The scope of SECONDEXPANSIONmake: SECONDEXPANSION 的范围
【发布时间】:2019-08-24 23:12:45
【问题描述】:

makefile中二次扩展的范围是什么?

如果我输入:

.SECONDEXPANSION:

这种变化在哪里停止?从那时起,它是否适用于所有目标?还是只到下一个目标?

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    从那时起它适用于所有目标。来自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 $^
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 2011-11-27
      相关资源
      最近更新 更多