- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
It is applicable to work report, lecture and teaching;简单介绍Makefile;编译和链接规则(输入make命令之后将按照以下规则工作);通用的Makefile里包含什么;完整Makefile里包含什么;书写一个简单的Makefile(适合所有文件在一个文件夹的情况);目标:在工作目录下有4个文件夹 分别是 sources(源文件) obj (中间文件)headers(头文件) bin(目标文件)
sources里面有 main.c cn_work.c fun.c
obj 里面最初没有文件
headers 里面有 fun.h cn_work.h
最终目标取名为 cn_work 它应存放到bin里面
开始写Makefile的预备知识:
gcc 的3个参数:
1. -o 指定目标文件
gcc sources/main.c -o bin/main
2. -c 编译的时候只生产目标文件不链接
gcc -c sources/main.c -o obj/main.o
3. -I 主要指定头文件的搜索路径
gcc -I headers -c main.c -o main.o
;bin/cn_work : obj/main.o obj/cn_work.o obj/fun.o
gcc obj/main.o obj/cn_work.o obj/fun.o -o bin/cn_work (命令一定要用以Tab开头)
obj/cn_work.o : sources/cn_work.c
gcc -I headers -c sources/cn_work.c -o obj/cn_work.o
obj/main.o : sources/main.c
gcc -I headers -c sources/main.c -o
obj/fun.o : sources/fun.c
gcc -I headers -c -o
clean:
rm -f bin/cn_work *.o
;用隐式规则改进:
3个符号介绍:
1. $@ 表示要生成的目标
2. $^ 表示全部的依赖文件
3. $ 表示第一个依赖文件
bin/cn_work : obj/main.o obj/cn_work.o obj/fun.o
gcc $^ -o $@ (命令一定要用以Tab开头)
obj/cn_work.o : sources/cn_work.c
gcc -I headers -c $ -o $@
obj/main.o : sources/main.c
gcc -I headers -c $ -o $@
obj/fun.o : sources/fun.c
gcc -I headers -c $ -o $@
clean:
rm -f bin/cn_work *.o
;变量的引入和应用:
CC=gcc
HD=-I headers
SC=-c $
OBJ=-o $@
bin/cn_work : obj/main.o obj/cn_work.o obj/fun.o
gcc $^ -o $@ (命令一定要用以Tab开头)
obj/cn_work.o : sources/cn_work.c
$(CC) $(HD) $(SC) $(OBJ)
obj/main.o : sources/main.c
$(CC) $(HD) $(SC) $(OBJ)
obj/fun.o : sources/fun.c
$(CC) $(HD) $(SC) $(OBJ)
clean:
rm -f bin/cn_work *.o;当我们输入make到终端的时候,终端就会依次显示所有的执行过的命令,方便我们查看进度。
gcc -I headers -c sources/cn_work.c -o obj/cn_work.o
gcc -I headers -c sources/main.c -o
gcc -I headers -c -o
gcc obj/main.o obj/cn_work.o obj/fun.o -o bin/cn_work
clean:
@rm -f bin/cn_work *.o
用@字符的时候,命令将不被显示出来,它和echo结合使用类似于dos下的应用。
在makefile执行时,make 带有参数
您可能关注的文档
- 《maab四形态学图像处理》ppt课件讲义.ppt
- 《maab在电机分析计算中的应用》ppt课件讲义.ppt
- 《matlab程序设计与教程》ppt课件讲义.ppt
- 《maxus大通技术培训新技术特点》ppt课件讲义.ppt
- 《mba培训激励人的小故事》ppt课件讲义.ppt
- 2023年部编版九年级地理上册期末试卷(完美版).doc
- 2023年部编版九年级地理上册期末测试卷(2023年部编版).doc
- 2023年部编版三年级语文下册期中测试卷及答案下载.doc
- 2023年部编版三年级语文上册期末试卷及答案(1).doc
- 2023年部编版三年级语文上册期末试卷(加答案).doc
- 2023年部编版三年级语文下册期末考试及答案1套.doc
- 2023年部编版三年级数学下册期末考试题及答案【汇总】.doc
- 2023年部编版三年级语文上册期末考试【带答案】.doc
- 2023年部编版三年级语文下册期中测试卷带答案.doc
- 2023年部编版三年级数学下册期中试卷(附答案).doc
- 2023年部编版三年级语文下册期末试卷及答案【汇编】.doc
- 2023年部编版九年级地理上册期末考试及答案(1).doc
- 2023年部编版三年级语文下册期中考试题(及答案).doc
- 2023年部编版九年级地理上册期末测试卷及答案【完整版】.doc
- 2023年部编版三年级语文下册期中考试卷及答案【汇总】.doc
最近下载
- 北京四惠长途汽车站刻时表.doc VIP
- 创新与创业管理(南京邮电)中国大学MOOC慕课 答案.docx VIP
- 质量安全红线管理专项督查工作手册(第13版)(2).pdf VIP
- 高层建筑结构设计_部分1(共计417页)推荐.ppt
- 2026年时事政治测试题库必考.docx VIP
- 2025年学校领导班子述职述廉报告模版(六).docx VIP
- 创新与创业管理(南京邮电)中国大学MOOC慕课 答案.pdf VIP
- 2026年时事政治测试题库必考.docx VIP
- 2024年陕西省陕西测绘地理信息局下属事业单位考试真题.docx VIP
- 西门子PCS7_8.1软件(内部培训资料).pptx VIP
原创力文档


文档评论(0)