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

Pra*_* Ch -3 c gcc makefile

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

Rgds,

Bas*_*tch 10

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

GCC编译器知道-M(和相关)预处理程序选项,它要求make到....

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

借助一些好的Makefile技巧,您可以编写一个 Makefile自动处理依赖项的程序,例如:

 ## dependencies of foo.c
 foo.d: foo.c
      $(COMPILE.c) -M $^ -o $@
 ## include them
 -include foo.d
Run Code Online (Sandbox Code Playgroud)

关于$(wildcard *.c),阅读GNU make 文档,关于文件名函数的部分。所以$(wildcard *.c)通配*.c通过make扩大它与结尾的文件的列表.c; 你可以用它来定义一个make变量:SOURCE_FILES= $(wildcard *.c)等。

另请参阅thisthatthat示例。

不要忘记尝试make -p理解 GNU 已知的所有好的内置规则make......使用make --trace或调试你的-s。remake-xMakefile