相关疑难解决方法(0)

绘制由make生成的DAG?

我的理解是,在make执行时,它会在内部生成一个DAG来表示项目中的所有依赖项.有没有办法获得DAG并绘制图表,比如使用像graphviz这样的东西?

我在Ubuntu 8.04上使用gnu make.

编辑

我只是碰到这些工具被称为跑mamdag和mamdot.他们应该同时使用nmake和gnu make,但我似乎无法找到让gnu make吐出mam文件的选项.

它可以在这里下载 - 这些包:

INIT
ast-base
ast-gpl

刚刚在AT&T的Glenn Fowler发现了这篇文章,描述了MAM语言和mamdot工具.

看起来你必须修补gnu make才能工作,虽然我还不是100%肯定.

也许有另一种方式?

linux makefile directed-acyclic-graphs

10
推荐指数
1
解决办法
2614
查看次数

用于GNU make的Backtrace

有没有办法让GNU make打印导致命令失败时执行的目标的"回溯"?我经常处理严重混淆的makefile,同时解决在新系统上构建软件的可移植性问题,看起来这对于make来说应该是一个非常简单的事情,这将极大地帮助调试,但我找不到任何方式来请求它.我希望看到的是:

gcc: error: ...
make[2]: error: gcc ...
make[2]: error building target bar
make[2]: error building dependency bar for target foo
make[1]: error: make -C subdir
make[1]: error building target subdir
make[1]: error building dependency subdir for target all
...
Run Code Online (Sandbox Code Playgroud)

显示失败命令最终执行的整个依赖路径.

有没有办法做到这一点?

c makefile gnu-make

6
推荐指数
1
解决办法
1356
查看次数

标签 统计

makefile ×2

c ×1

directed-acyclic-graphs ×1

gnu-make ×1

linux ×1