【问题标题】:gnu make, include path for `include` directivesgnu make,包含`include`指令的路径
【发布时间】:2018-12-22 22:30:03
【问题描述】:

除了 make 用来定位 include 指令加载的文件的标准目录之外,还有什么方法可以在 makefile 本身内指定其他包含路径?我知道 -I 命令行 GNU make 选项,但我想知道是否有任何 make 变量可以指定相同的选项。

【问题讨论】:

    标签: makefile include include-path


    【解决方案1】:

    我建议使用 .INCLUDE_DIRS 变量,但正如下面评论中指出的那样,该变量是只读的。

    我能想到的唯一另一种方法是让顶级文件调用真正的makefile,并让顶级文件更新MAKEFLAGS

    # Top level -- Call it GNUmakefile?
    INCLUDE_DIRS := first second third
    MAKEFLAGS += $(foreach dir,$(INCLUDE_DIRS),--include-dir=$(dir))
    .DEFAULT all:;$(MAKE) -f Makefile $(MAKECMDGOALS)
    

    然后用.INCLUDE_DIRS中的三个目录调用真正的Makefile

    【讨论】:

    • 是的,我已经发现了这一点,但是修改该变量不会产生任何影响。 INCLUDE_DIRS 变量只包含一个硬编码的包含目录列表,以告知您 GNU Make 将使用什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    相关资源
    最近更新 更多