http://blog.chinaunix.net/uid-26847859-id-3286828.html 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 0 上一篇:Linux内核驱动之read和write 下一篇:Makefile之伪目标 相关热门文章