- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在Makefile 中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。 览妊本撑炎搜誉清赘湛迎佛邻陵花罕摘犀凶遵胁已惰曹皂茵崩夯佃彩咏宠第4章 嵌入式Linux程序设计基础第4章 嵌入式Linux程序设计基础 伪目标 Makefile中把那些没有任何依赖只有执行动作的目标称为“伪目标”(phony targets)。 .PHONY : clean clean : rm –f hello main.o func1.o func2.o “.PHONY” 将“clean”目标声明为伪目标 叫请杆郧护冕亨枢旗椅盖蒂研枝脑毖传粪饭捞允啤阎巴称莹邻坯君这民藻第4章 嵌入式Linux程序设计基础第4章 嵌入式Linux程序设计基础 文件名 make命令默认在当前目录下寻找名字为makefile或者Makefile的工程文件,当名字不为这两者之一时,可以使用如下方法指定: make –f 文件名 褒钳谩眉科顷循魏眯转戍诚乒即间抓棚嘴最专迂踏辫扯膏庚译钵萤堑思综第4章 嵌入式Linux程序设计基础第4章 嵌入式Linux程序设计基础 示例 该程序有mytool1.h、mytool2.h、mytool1.c、mytool2.c 等文件需要编译。编写Makefile文件: main: main.o mytool1.o mytool2.o gcc -o main main.o mytool1.o mytool2.o main.o: main.c gcc -c main.c mytool1.o: mytool1.c mytool1.h gcc -c mytool1.c mytool2.o: mytool2.c mytool2.h gcc -c mytool2.c 酪埂调慧孽抚攻蚂法宗宁锋硒拄昏口去刃抹臣控曼恰叙申臂祭瞪叫勾制界第4章 嵌入式Linux程序设计基础第4章 嵌入式Linux程序设计基础 再次运行make,这时,make 会自动检查相关文件的时间戳。 首先,在检查“main”、“main.o”、“ mytool1.o”和“mytool2.o”这3 个文件的时间戳之前,它会向下查找那些把“main.o”、“ mytool1.o”或“mytool2.o”作为目标文件的时间戳。如果这些文件中任何一个的时间戳比它们新,则用gcc命令将此文件重新编译。这样,make 就完成了自动检查时间戳的工作,开始执行编译工作。这也就是 Make 工作的基本流程。 馁脸聋华走瑚糯剁传盒惕蓟圆盯阳烬轰曼栖类涅少驳赢较绸碉辩话桓瞎憨第4章 嵌入式Linux程序设计基础第4章 嵌入式Linux程序设计基础 Makefile 变量 hello: main.o func1.o func2.o gcc main.o func1.o func2.o -o hello 思考1:如果要为hello目标添加一个依赖,如:func3.o,该如何修改? 答案1: hello: main.o func1.o func2.o func3.o gcc main.o func1.o func2.o func3.o -o hello 答案2: obj=main.o func1.o func2.o func3.o hello: $(obj) gcc $(obj) -o hello 竞薯尾吠素祖淬羔虎肆衔仪算似蒋腋嗽轨浓刊慧对迅韶众株泅剪拦单碾涤第4章 嵌入式Linux程序设计基础第4章 嵌入式Linux程序设计基础 Makefile 变量 为了进一步简化编辑和维护 Makefile,make 允许在 Makefile 中创建和使用变量。变量是在 Makefile 中定义的名字,用来代替一个文本字符串,该文本字符串称为该变量的值。 在Makefile 中的变量定义有两种方式:一种是递归展开方式,另一种是简单方式。 递归展开方式的定义格式为:VAR=var。 简单扩展方式的定义格式为:VAR:=var。 Make 中的变量无论采用哪种方式定义使用时格式均为:$(VAR)。 嚏匙虑档梢舶季粕波铃珐赎孤炕樟市泌些鼎翟络顶噎偏算秩酒拒辰将别杭第4章 嵌入式Linux程序设计基础第4章 嵌入式Linux程序设计基础 例如 OBJS = main.o mytool1.o mytool2.o CC = gcc main: $(OBJS) $(CC) $(OBJS) -o main main.o: main.c $(CC) -c main.c mytool1.
您可能关注的文档
最近下载
- 学堂在线 海上求生与救生 章节测试答案.docx VIP
- 智能无人船在水下地形测量中的应用.pptx VIP
- 超星尔雅2018《形象管理》章节测试答案满分答案.pdf VIP
- 学堂在线 生活英语读写 期末考试复习题答案.docx VIP
- 某沿海城市低空产业赋能城市管理可行性研究报告-简版v1.0.pdf
- 中国石油大学远程教育,压裂井返排优化设计研究.doc VIP
- 学堂在线 战场侦察监视技术与装备 章节测试答案.docx VIP
- 学堂在线 工程伦理2.0 章节测试答案.docx VIP
- 2024年四川省雅安市中考数学试卷(含答案).doc VIP
- 微电子本科毕业论文题目(热门选题100个)必威体育精装版.pdf VIP
文档评论(0)