【发布时间】:2015-07-18 06:15:47
【问题描述】:
在 Makefiles GCC C 程序中,什么是 .d 文件以及什么是通配符。?
Rgds,
【问题讨论】:
在 Makefiles GCC C 程序中,什么是 .d 文件以及什么是通配符。?
Rgds,
【问题讨论】:
这些*.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)等
不要忘记尝试 make -p 以了解 GNU make 已知的所有良好内置规则。使用 make --trace 或 remake-x 调试您的 Makefile-s。
【讨论】: