您的位置:首页 > 其它

makefile 中的符号替换($@、$^、$<、$?)

2016-05-09 16:36 274 查看
Makefile $@, $^, $<
$@ 表示目标文件
$^ 表示所有的依赖文件
$< 表示第一个依赖文件
$? 表示比目标还要新的依赖文件列表

如一个目录下有如下文件:

$ ls
hello.c hi.c main.c Makefile


按照 Makefile 的一般写法:

main: main.o hello.o hi.o
gcc -o main main.o hello.o hi.o

main.o: main.c
cc -c main.c

hello.o: hello.c
cc -c hello.c

hi.o: hi.c
cc -c hi.c

clean:
rm *.o
rm main


改为用上述符号进行替代:

main: main.o hello.o hi.o
gcc -o $@ $^
main.o: main.c
cc -c $<
hello.o: hello.c
cc -c $<
hi.o: hi.c
cc -c $<
clean:
rm *.o
rm main


beyes@debian:~/makefile_test/semicolon/real$ make
cc -c main.c
cc -c hello.c
cc -c hi.c
gcc -o main main.o hello.o hi.o
beyes@debian:~/makefile_test/semicolon/real$ ls
hello.c hello.o hi.c hi.o main main.c main.o Makefile
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: