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

时间:2015-07-18 06:15:48

标签: c gcc makefile

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

RGDS,

1 个答案:

答案 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)等等。

另请参阅thisthatthat示例。

不要忘记尝试make -p了解GNU make已知的所有良好的内置规则....使用make --traceremake -x用于调试Makefile - s。