Makefile学习之通配符和自动变量】的更多相关文章

规则中的通配符 “*” ,“?” ,“ [...]”, " % " , " wildcard " 1.“*”  *.c表示所有后缀为.C的文件: 如果文件中用到通配符,使用“\*”; 2.通配符在变量中的使用: objects=*.c 注意:这里的通配符就是用在变量中的,不过,objects的值就是“*.o”,并不会展开: 如果希望展开的话,可以这么使用: objects := $(wildcard *.o); wildcard是Makefile中的关键字: 3.M…
1.自动化变量通配符http://blog.sina.com.cn/s/blog_7c95e5850101b38l.html 2.wildcard 使用http://blog.csdn.net/liangkaiming/article/details/6267357 3.srcs=(wildcard:%.o=%.c)说明 http://os.chinaunix.net/a2008/0312/978/000000978004.shtml 4.$(srcs):%.o:%.c说明==$(patsubs…
makefile 分析1  -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则. -n 选项, 只运行,不执行, -d 选项,相当于--debug=a,  b(basic),v(verbose),i(implicity),j(innvocation of command),m(remake files)  这里着重解释一下 -p make -p -f /dev/null 可以打印出内置变量和内置规则 变量可以分为3类, 第一类: 环境变量, 比较重要的是PATH, PW…
自动变量假设您编写一个编译‘.c’文件生成‘.o’文件的规则:您怎样编写命令‘CC’,使它能够操作正确的文件名?您当然不能将文件名直接写进命令中,因为每次使用隐含规则操作的文件名都不一样. 您应该使用make的另一个特点,自动变量.这些变量在规则每次执行时都基于目标和依赖产生新值.例如您可以使用变量‘$@’代替目标文件名,变量‘$<’代替依赖文件名. 下面是自动变量列表: $@ 规则的目标文件名.如果目标是一个档案成员,则变量‘$@’ 档案文件的文件名.对于有多个目标的格式规则(参阅格式规则简介…
自动变量被RF框架创建和修改,在测试执行过程中值可能会变化;另外,某些自动变量在执行过程中并非总是可用.修改自动变量,并不能对变量的初始值产生影响.但可以用某些内建关键字来修改某些自动变量的值. 变量名 含义 可用范围 ${TEST NAME} 当前测试用例的名字 Test case @{TEST TAGS} 当前测试用例的标签(按字母序).可以使用"Set Tags"和"Remove Tags"关键字修改 Test case ${TEST DOCUMENTATIO…
Makefile用法分析     在linux开发中,应用程序的编译基本都采用GNU的make工具,而make搭配Makefile来实现工程代码的编译,在越是大型复杂的项目中,make的强悍之处越是明显.在使用了一段时间make后,对其用法进行分析.本文是在学习了陈皓的"跟我一起学Makefile"文章后,对自己学习的小结. 一.简单的例子 现在,我们有一个C++的项目需要进行编译,项目包含3个头文件,3个.cpp文件,分别是main.cpp,main.h,read.cpp,read.…
makefile 学习归纳 一直希望 好好整理下 makefile的写法,这在linux编程界是必备技能.下面就好好的说道说道. 可以参考的大神总结 整理 makefile是供make命令执行的 脚本文件,是大型工程的基础,所以 在linux下 几乎是 必须的项目管理文本 makefile文本的基础写法 正如前面所说的,如果一个工程有3个头文件,和8个C文件,我们为了完成前面所述的那三个规则,我们的Makefile应该是下面的这个样子的. edit : main.o kbd.o command.…
GNU Make / Makefile 学习资料 GNU Make学习总结(一) GNU Make学习总结(二) 这篇学习总结,从一个简单的小例子开始,逐步加深,来讲解Makefile的用法. 最后用上面总结过的知识,给出了一个通用的C/C++ Makefile 文中提到<GNU 项目管理>一书,有280页.我觉得初学没必要看这么厚的书.豆瓣上对其评价也是不太实用.等以后有更深层次的需求时,再去看. 另外还有: 阮一峰-Make命令教程 这篇写的很简单,不过其中提到了一点很重要:每一行&quo…
变量的类别有递归扩展变量和简单扩展变量.只用一个“=”符号定义的变量被称为递归扩展变量.通过下面例子观察递归扩展变量的特点. .PHONY: all foo=$(bar) bar=$(ugh) ugh=Huh? all: @echo $(foo) 从结果来看,递归扩展变量的引用是递归的. CFLAGS =$(CFLAGS) -O 上面的赋值代码将会造成一个死循环,无限递归.   简单变量扩展使用“ :=”操作符来定义的.对于这种变量,make只对其进行一次操作,通过下面的代码来帮助我们理解: .…
上次随着信号学习告一段落,也标志着linux系统编程相关的知识学完了,而学了这么多知识点,是需要用一个综合的项目来将其进行串起来的,这样学习的技术才会不那么空洞,所以接下来会以一个实际例子来综合运用下所学的知识,该知识点就是涉及到linux系统编程,在开始这个项目之前,还得补充一个知识点,因为会用到它,因为一个项目的源文件往往是由多个.c文件组成的,所以不可能一个个手动去用gcc去编译,所以这个高效工具就产生了-----Make工具. make与Makefile介绍:   Makefile基本规…