makefile - 忽略生成文件中的 (@) 符号

标签 makefile

在 makefile 中,以 at 符号为前缀的行 disables the print of the output .我有一个 makefile,其中每一行都以 at 为前缀,但是对于调试,我需要查看发生了什么。有没有办法告诉 make 忽略 at 并输出该行?调试过度,-n 选项打印它们,但不执行任何操作(用于空运行)

最佳答案

创建一个默认值为 @ 的变量:

AT := @

然后在您的 Makefile 中使用它:
foo:
    $(AT)fooc -o $@

然后运行 ​​makemake AT= .如果你喜欢,你可以变得更漂亮:
V := 0
AT_0 := @
AT_1 :=
AT = $(AT_$(V))

这将使命令静音,除非 V设置为 1 (例如, make V=1 )。这使用了非 POSIX 但递归变量扩展的共同特征。

关于makefile - 忽略生成文件中的 (@) 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3861911/

相关文章:

c++ - 由于链式前缀,Visual Studio 2017 Linux Makefile 项目无法构建

c - 为什么我用gdb调试的时候是 "No symbol file now"?

c++ - Makefile 创建两个库——一个依赖另一个

c++ - 在 linux 上编译 libfacebookcpp,未声明 'StringBuilder'

c++ - VPATH 中的递归搜索?

C:头文件和include问题。需要帮忙!

c# - 如何为 C# 编写 makefile?

perl - 如何使用 Makefile.PL 和 ExtUtils::MakeMaker 复制文件?

c++ - 链接错误 c 和 c++( undefined reference )

c++ - 如何正确编译和链接 C 程序?