【问题标题】:In Makefiles GCC C programs, What are .d files and also what is a wildcard.? [closed]在 Makefiles GCC C 程序中,什么是 .d 文件以及什么是通配符。? [关闭]
【发布时间】:2015-07-18 06:15:47
【问题描述】:

在 Makefiles GCC C 程序中,什么是 .d 文件以及什么是通配符。?

Rgds,

【问题讨论】:

标签: c gcc makefile


【解决方案1】:

这些*.d 文件通常(并且只是传统上)是make 依赖项(但可能而且不太可能是D-language 源代码)。

GCC 编译器知道-M(和相关的)preprocessor option,它要求make ......

不是输出预处理的结果,而是输出一个适合make描述主源文件依赖关系的规则。

借助一些好的Makefile 技巧,您可以编写一个自动处理依赖关系的Makefile,例如像

这样的东西
 ## dependencies of foo.c
 foo.d: foo.c
      $(COMPILE.c) -M $^ -o $@
 ## include them
 -include foo.d

关于$(wildcard *.c),阅读GNU make documentation,file name functions 部分。所以$(wildcard *.c) 是globbing *.c 通过make 将其扩展为以.c 结尾的文件列表;你可以使用它,例如定义一个make变量:SOURCE_FILES= $(wildcard *.c)等

另请参阅 this、that 和 that 示例。

不要忘记尝试 make -p 以了解 GNU make 已知的所有良好内置规则。使用 make --trace 或 remake-x 调试您的 Makefile-s。

【讨论】:

  • 我明白通配符是什么意思,.d 文件不清楚,谢谢。
猜你喜欢
  • 1970-01-01
  • 2015-07-25
  • 2012-12-06
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多