在 Makefile 中,$@ 代表当前目标(Target),即正在被生成的目标文件名。您可以通过 $@ 来引用当前目标文件名,以便在命令中使用。

举例说明:

假设有一个 Makefile,其中有以下规则:

test: main.o func.o
    gcc -o $@ $^
main.o: main.c
    gcc -c $^
func.o: func.c
    gcc -c $^

在这个例子中,$@ 指代当前目标 test。在第一个规则中,$^ 指代依赖文件列表,即 main.ofunc.o。因此,命令 gcc -o $@ $^ 会生成一个名为 test 的可执行文件。在第二个和第三个规则中,$^ 指代依赖文件列表,即 main.cfunc.c。因此,命令 gcc -c $^ 会编译 main.cfunc.c,生成 main.ofunc.o 目标文件。

通过使用 $@,您可以更加灵活地编写 Makefile 规则,根据不同的目标执行不同的操作。

Makefile 中的 $@ 符号详解及示例

原文地址: https://www.cveoy.top/t/topic/njwv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录