makefile从无到有分析和总结.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Makefile 这玩意在上学时就应该学,可是一直沉浸于 IDE 的诱惑,所谓“死于安乐”,直到现在一把年纪才开始接触这种基础东西。 创建 C 程序 view plain????? view plain ? ? ? ? ? ? ? ? ? ? ? ? ////////////////// // file: main.c ////////////////// #include <stdio.h> int main() { int c = 0; printf("Tommy: %d\n", c+5); return 0; } view plain? view plain ? ? ~/code/makefile$ ls main.c view plain??~/code/makefile$ make view plain ? ? ~/code/makefile$ make make: *** 没有指明目标并且找不到 makefile。 停止。 创建 makefile 文件 view plain???~/code/makefile$ touch makefiletommy@tommy-zheng-ThinkPad-T61:~/code/makefile$ view plain ? ? ? ~/code/makefile$ touch makefile tommy@tommy-zheng-ThinkPad-T61:~/code/makefile$ ls main.c makefile 这时再试试“make”命令: view plain view plain ? ? ~/code/makefile$ make make: *** 无目标。 停止。 加入 target view plain??# 注释 file: makefiletarget:错误 view plain ? ? # 注释 file: makefile target: view plain??~/code/makefile$ make view plain ? ? ~/code/makefile$ make make: 没有什么可以做的为 `target'。 可以看到前面“无目标”的错误已经解决了。 加入命令 view plain??? view plain ? ? ? # 注释 file: makefile target: gcc -o tommy main.c # 注意,最前面是 tab,不是空格! 好了,执行 make 命令: view plain view plain ? ? ? ? ~/code/makefile$ make gcc -o tommy main.c ~/code/makefile$ ls main.c makefile tommy view plain??~/code/makefile$ ./tommyTommy: 5 view plain ? ? ~/code/makefile$ ./tommy Tommy: 5 我们的 makefile 写完了!!! 好吧,之前的 makefile 实在是太简单,以至于没什么实际的用途。现在再深入研究下。 Target view plain?????# 注释 file: makefiletommy:gcc -o tommy main.c view plain ? ? ? ? ? # 注释 file: makefile tommy: gcc -o tommy main.c # 注意,最前面是 tab,不是空格! dosomething: echo just for fun. view plain??? view plain ? ? ? ~/code/makefile$ make dosomething echo just for fun. just for fun. 可以看到,make 可以用来执行任何一个 target 底下的命令,而这种命令并不局限于 gcc 这种编译的命令。每个 target 用冒号隔开。如果 make 命令没有指定哪个 target,那第一个 target 下的命令会被执行。 Dependencies make 命令一次只能处理一个 target,但如果我想一次处理多个 target 怎么办?这时可以为一个 target 在冒号后面指定它所依赖的 target。修改下 make file: view plain view plain ? ? ? ? ? ? ? ? ? ? ? # 注释 file: makefile tommy: gcc -o tommy main.c # 注意,最前面是 tab,不是空格! dosomething: dofirst dosecond # 先执行另两个 targ

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档

相关课程推荐