在Makefiles GCC C程序中,什么是.d文件以及什么是通配符。?
RGDS,
答案 0 :(得分:2)
这些*.d
文件通常(并且只是传统上)是make
依赖项(但可能是D-language源代码)。
GCC编译器知道-M
(和相关的)preprocessor option,它会向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。