我希望实现以下功能:
我想从位于不同目录的shell脚本中调用make(在其他目录中存在Makefile,可以使用abc路径)。我该怎么做?
由于shell脚本不允许我cd
进入Makefile
目录并执行make
,因此我如何编写shell命令(通过给出要执行的Makefile
的路径)来执行make
?
我希望实现以下功能:
我想从位于不同目录的shell脚本中调用make(在其他目录中存在Makefile,可以使用abc路径)。我该怎么做?
由于shell脚本不允许我cd
进入Makefile
目录并执行make
,因此我如何编写shell命令(通过给出要执行的Makefile
的路径)来执行make
?
GNU make
接受许多选项,特别是-C
用于在运行之前更改目录,-f
用于提供Makefile
以进行跟随。
适当地结合它们。
考虑使用remake来简化与Makefile
相关的调试(特别是使用-x
)。 对于GNU make 4或更高版本,还可以使用make --trace
。
您可以拥有自己的可执行shell脚本(例如,在您的$ HOME / bin /
中,并且在您的 $ PATH
中),该脚本同时使用cd
和make
)。
还要阅读P.Miller的论文Recursive Make considered harmful
*.o
文件不是可执行二进制文件。 - Basile Starynkevitch