make的"包含"在哪里找到文件?



这似乎(并且可能是(显而易见的,但我找不到它。

make's include 在哪里查找要包含的文件?喜欢这个:

# /mydir/makefile
include basemakefile

文件basemakefile位于我不想硬编码的其他地方。更新$PATH对我不起作用。

编辑:我真正想要的是一个环境变量来控制它。没有PATH,但正如伊坦建议的那样,您可以使用 MAKEFLAGS=-I/my/path/ .你是否应该像这样滥用MAKEFLAGS是值得怀疑的。

Etan的评论是正确的答案,对于问题的编辑版本。 在您的环境中执行此操作

export MAKEFLAGS=-I/my/path

这不是滥用,它是变量MAKEFLAGS的正常使用,在GNU制作手册中有所介绍。

从您链接到的手册部分:

如果指定的名称不以斜杠开头,并且在当前目录中找不到该文件,则会搜索其他几个目录。首先,搜索您使用"-I"或"--include-dir"选项指定的任何目录(请参阅选项摘要(。然后按以下顺序搜索以下目录(如果存在(:前缀/包含(通常为

/usr/local/include(/usr/gnu/include、/usr/local/include、/usr/include。

最新更新