Makefile 中的 $@ 符号详解及示例
在 Makefile 中,$@ 代表当前目标(Target),即正在被生成的目标文件名。您可以通过 $@ 来引用当前目标文件名,以便在命令中使用。
举例说明:
假设有一个 Makefile,其中有以下规则:
test: main.o func.o
gcc -o $@ $^
main.o: main.c
gcc -c $^
func.o: func.c
gcc -c $^
在这个例子中,$@ 指代当前目标 test。在第一个规则中,$^ 指代依赖文件列表,即 main.o 和 func.o。因此,命令 gcc -o $@ $^ 会生成一个名为 test 的可执行文件。在第二个和第三个规则中,$^ 指代依赖文件列表,即 main.c 和 func.c。因此,命令 gcc -c $^ 会编译 main.c 和 func.c,生成 main.o 和 func.o 目标文件。
通过使用 $@,您可以更加灵活地编写 Makefile 规则,根据不同的目标执行不同的操作。
原文地址: https://www.cveoy.top/t/topic/njwv 著作权归作者所有。请勿转载和采集!