设置包含其他makefile的路径

时间:2015-06-01 12:46:24

标签: makefile

来自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

1 个答案:

答案 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应该正确使用它。