linux 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目标文件。
原文地址: https://www.cveoy.top/t/topic/bWOC 著作权归作者所有。请勿转载和采集!