这似乎(可能是)很明显,但我找不到它。
make include在哪里查找要包含的文件?像这样:
# /mydir/makefile
include basemakefile
文件basemakefile
位于其他我不想硬编码的地方。更新$PATH
对我不起作用。
编辑:我真正想要的是一个环境变量来控制它。没有PATH
,但Etan表示您可以使用MAKEFLAGS=-I/my/path/
。是否应该像这样滥用MAKEFLAGS
是值得怀疑的。
答案 0 :(得分:1)
从您链接到的手册部分开始:
如果指定的名称不是以斜杠开头,并且在当前目录中找不到该文件,则会搜索其他几个目录。首先,搜索您使用'-I'或'--include-dir'选项指定的任何目录(请参阅选项摘要)。然后按以下顺序搜索以下目录(如果存在):前缀 / include(通常为/ usr / local / include)/ usr / gnu / include,/ usr / local / include,/ USR /包括
答案 1 :(得分:1)
对于问题的编辑版本,Etan的评论是正确的答案。在您的环境中执行此操作
export MAKEFLAGS=-I/my/path
这不是滥用,它是GNU Make Manual中涵盖的变量MAKEFLAGS
的正常使用。