http://www.cnblogs.com/gamesun/p/3323155.html
http://blog.csdn.net/kesaihao862/article/details/7332528
makefile [email protected], $^, $<, $?
[email protected] 表示目标文件
$^ 表示所有的依赖文件
$< 表示第一个依赖文件
$? 表示比目标还要新的依赖文件列表
如一个目录下有如下文件:
$ 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 [email protected] $^ main.o: main.c cc -c $< hello.o: hello.c cc -c $< hi.o: hi.c cc -c $< clean: rm *.o rm main
再如:
# 这是上面那个程序的Makefile文件
main:main.o mytool1.o mytool2.o
gcc -o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
gcc -c main.c
mytool1.o:mytool1.c mytool1.h
gcc -c mytool1.c
mytool2.o:mytool2.c mytool2.h
gcc -c mytool2.c
时间: 2024-11-05 13:45:04