来自the makefile's reference page for include:
如果指定的名称不是以斜杠开头,则文件不是 在当前目录中找到了几个其他目录 搜索。首先,您使用'-I'指定的任何目录 搜索“--include-dir”选项(请参阅选项摘要)。那么 按以下顺序搜索以下目录(如果存在): prefix / include(通常是/ usr / local / include 1)/ usr / gnu / include, / usr / local / include,/ usr / include。
那么,有没有办法从makefile中设置include路径,其中包含其他makefile?
我不希望每次打电话都要通过--include-dir
。
答案 0 :(得分:1)
理论上,您应该能够将这些标志添加到makefile本身的MAKEFLAGS
变量中。
来自Communicating Options to a Sub-make
:
如果您希望每次运行
MAKEFLAGS
时都设置某些选项,例如“-k
”(请参阅选项摘要),make
变量也很有用。您只需在您的环境中为MAKEFLAGS
添加一个值即可。您还可以在makefile中设置MAKEFLAGS
,以指定对该makefile也应该有效的其他标志。 (请注意,您不能以这种方式使用MFLAGS
。该变量仅为兼容性而设置; make不会以任何方式解释您为其设置的值。)
但快速测试似乎表明这实际上并不奏效。
我认为VPATH
/ vpath
可能会在这里使用,但对此的一些快速测试似乎表明它不是。
据我所知,这意味着,如果您不想在命令行上手动指定它们,则每次运行都会使用shell脚本/函数/等。它处理为你添加它们。
虽然最后一次快速测试似乎表明,尽管MAKEFLAGS
的文件设置不起作用,但环境变量路由确实有效。因此,您可以在环境中设置MAKEFLAGS
,并且make应该正确使用它。