这似乎(并且可能是(显而易见的,但我找不到它。
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。