如何查看 GNU make 运行的命令?

Posted

技术标签:

【中文标题】如何查看 GNU make 运行的命令?【英文标题】:How do I see the commands that are run by GNU make? 【发布时间】:2010-12-24 15:22:32 【问题描述】:

我正在尝试调试复杂的 Makefile。如何让 GNU make 打印它运行的所有命令?我在man 页面中找不到答案(使用 -d 标志似乎没有打印出来)。

(这不是回答我的问题的必要信息,但如果您想知道:我在编译基于 NVIDIA 的 CUDA 库构建的项目时遇到问题。我可以自己编译它,但使用他们的 Makefile 会导致令人讨厌的编译器错误。我想使用他们提供的 Makefile 来简化打包,并包含他们已经链接的其他包。)

【问题讨论】:

【参考方案1】:

-n triggers a "dry run" 不执行任何命令,但会打印要执行的命令。

但是,如果您的 Makefile 是递归的,这将无济于事。

【讨论】:

IIRC,-n 与递归 Makefiles 一起工作得很好,如果他们使用 $(MAKE) 哦。正是我要找的东西——我需要检查一下我的眼睛。非常感谢您的快速响应。 (此外,它似乎与 CUDA 的嵌套 Makefile 配合得很好) @hacker,我不知道。谢谢你的提示。 =]

以上是关于如何查看 GNU make 运行的命令?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看linux版本的型号

如何查看linux是不是安装了gdb

使用GNU/gdb调试Linux C/C++可执行程序查看出错源代码、设置断点

如何查看CMake使用哪些gcc选项?

如何看mysql版本

linux下使用make命令需要安装那个包