请列出Makefile预定义变量名,比如 $*,说明它们的用途并举例
在 Makefile 中,预定义变量(自动变量)用于在规则中引用目标文件、源文件、目录等信息。以下是一些常用的 Makefile 自动变量及其用途,以及相应的示例。
常用自动变量
- $@:表示规则的目标文件名(完整路径)。
示例:
target: source.c - gcc -o $@ $<
- 在这个例子中,如果目标是 target,则 $@ 将被替换为 target,所以命令行将变为 gcc -o target source.c。
- $<:表示规则中的第一个依赖文件。
示例:
target.o: source.c - gcc -c $< -o $@
- 在这个例子中,$< 表示 source.c,因此命令行将变为 gcc -c source.c -o target.o。
- $^:表示规则中的所有依赖文件(去重),以空格分隔。
示例:
target: file1.o file2.o - gcc -o $@ $^
- 在这个例子中,$^ 将被替换为 file1.o file2.o,因此命令行将变为 gcc -o target file1.o file2.o。
- $+:表示规则中的所有依赖文件(不去重),以空格分隔。这个变量在某些情况下比 $^ 更精确,特别是当依赖文件可能重复时。
示例

最低0.47元/天 解锁文章
4587

被折叠的 条评论
为什么被折叠?



