19

我正在尝试这样做:

我想从位于不同目录中的 shell 脚本中调用 make(Makefile存在于其他目录中,abc可以使用路径)。我该怎么做呢?

由于 shell 脚本不允许我cd进入Makefile目录并执行make,我如何编写 shell 命令(通过给出要执行的路径Makefile)来执行make

4

1 回答 1

29

GNUmake接受许多选项,特别是-C在运行之前更改目录,以及-f提供Makefile以下选项。

适当地组合它们。

考虑使用remake来简化相关问题的调试(尤其是使用-x) 。Makefile使用 GNU make 版本 4 或更高版本,还可以使用make --trace...

您可以拥有自己的可执行shell 脚本(例如,在您的$HOME/bin/哪个将在您的中$PATH),它同时使用cdmake)。

您可以考虑其他构建自动化工具(也许是忍者)

另请阅读 P.Miller 的论文Recursive Make 被认为是有害的

于 2012-11-17T23:56:49.210 回答