从构建调用make

时间:2011-11-29 18:17:52

标签: gcc build makefile

我想简化工作流程,而不是发出这些命令

$ make program_unittest
  ... output of $MAKE ...
$ ./program_unittest args

我可以让我的程序在运行时自动尝试编译自己(如果源已经更新),这样我就不必回去自己运行了。

这就是我的想法:我的单元测试构建应首先检查它所在的目录中是否有makefile,如果是,则fork和exec make与目标对应的目标。如果make确定“无所事事”,它将继续运行(运行单元测试)。但是,如果make实际执行编译,则可能会发生以下两种情况之一。 gcc(由make调用)可能能够在编译期间覆盖构建(其旧版本已经在运行),在这种情况下,我可以执行它。如果我的系统不允许gcc覆盖正在使用的程序,那么我必须在运行make之前退出该程序。

所以这已经变得非常复杂了。是否有更优雅的解决方案?也许我可以使用bash脚本?如何确定make是否发出了编译命令?

1 个答案:

答案 0 :(得分:1)

为什么不让make运行单元测试?