Makefile编译指南:关键字解释和实践
需积分: 13 53 浏览量
更新于2024-09-13
收藏 58KB DOC 举报
"makefile学习笔记"
makefile是 UNIX 系统中的一种自动编译工具,通过编写makefile文件可以自动地编译、链接和构建项目。下面是makefile学习笔记的知识点总结。
一、makefile基本概念
makefile是一个文本文件,用于描述如何编译和构建项目。makefile文件中包含了一系列的规则,每条规则都指定了如何编译和链接目标文件。makefile文件可以包含变量、依赖关系和命令等元素。
二、makefile关键字解释
1. CC_CMD:makefile中的CC_CMD变量用于指定编译器的命令,例如CC_CMD = -fpic -c。这里的-fpic选项告诉编译器生成位置独立代码(position-independent code),-c选项告诉编译器生成对象文件。
2. INCLUDES:INCLUDES变量用于指定头文件的路径,例如INCLUDES = -I../Include\ -Iinc。这里的-I选项告诉编译器查找头文件的路径。
3. CCFLAGS:CCFLAGS变量用于指定编译器的选项,例如CCFLAGS = $(CC_CMD) $(APP_DEF) $(APP_INC)。这里的-D选项用于定义宏,-I选项用于指定头文件的路径。
三、makefile实践
1. 编译共享库:使用gcc命令可以编译生成共享库,例如gcc -shared first.o second.o -o hello.so。这里的-shared选项告诉编译器生成共享库,-o选项指定输出文件的名称。
2. 使用dir命令:dir命令用于查看目录、文件权限等详细信息。例如,dir命令可以用来查看当前目录下所有文件的详细信息。
四、makefile变量
1. APP_INC:APP_INC变量用于指定头文件的路径,例如APP_INC = -I../Include\ -Iinc。
2. ARFLAGS:ARFLAGS变量用于指定归档器的选项,例如ARFLAGS = -r $(OUTDIR)/$(TARGET).$(EXETYPE)。这里的-r选项告诉归档器生成目标文件。
五、makefile的应用
makefile广泛应用于嵌入式系统、编译器开发、自动化构建等领域。通过编写makefile文件,可以自动地编译、链接和构建项目,提高开发效率和项目质量。
六、makefile的优点
1. 自动化构建:makefile可以自动地编译、链接和构建项目,提高开发效率。
2. 可重用性:makefile可以在不同的项目中重用,减少开发时间和成本。
3. 灵活性:makefile可以根据项目的需要进行灵活地配置和修改。
makefile是一个非常有用的自动编译工具,通过编写makefile文件,可以自动地编译、链接和构建项目,提高开发效率和项目质量。
2021-09-10 上传
2022-08-08 上传
2008-09-18 上传
2017-03-28 上传
2011-07-28 上传
2021-01-09 上传
2022-04-24 上传
2008-12-12 上传
yuanfang_2009wu
- 粉丝: 0
- 资源: 3
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫