代码之家  ›  专栏  ›  技术社区  ›  spanishgum

如何检查包含的makefile中的变量值?

  •  1
  • spanishgum  · 技术社区  · 6 年前

    ../Makefile文件

    BAR=sometext
    

    生成文件

    include ../Makefile
    
    FOO=othertext
    
    ifneq ($(BAR),)
    FOOBAR=$(FOO) $(BAR)
    else
    FOOBAR=$(FOO)
    endif
    
    all:
            @echo $(FOOBAR)
    

    这将打印 "othertext" 不管我有没有 BAR 定义于 ../Makefile . 为什么?如果我有 酒吧 在本地定义,它将打印 "othertext sometext" 这就是我想要的。但在我的情况下我一直在使用include。

    我试过不同的场景 $(value $(BAR)) $(strip $(BAR)) ,等等,但我似乎无法让它按我所希望的方式工作。

    1 回复  |  直到 6 年前
        1
  •  0
  •   akond    6 年前

    你可以换个方式。在 Makefile :

    FOO=othertext
    BAR=$(FOO)
    
    include ../Makefile
    
    all:
        @echo $(BAR)
    

    ../Makefile

    BAR+=sometext