码迷,mamicode.com
首页 > 其他好文 > 详细

makefile $@, $^, $<, $?

时间:2016-04-27 20:32:55      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

http://www.cnblogs.com/gamesun/p/3323155.html

http://blog.csdn.net/kesaihao862/article/details/7332528

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
技术分享

 

再如:

# 这是上面那个程序的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

makefile $@, $^, $<, $?

标签:

原文地址:http://www.cnblogs.com/LiuYanYGZ/p/5440008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!