Makefile编译指南:关键字解释和实践
需积分: 13 15 浏览量
更新于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 上传
2017-03-28 上传
2008-09-18 上传
2011-07-28 上传
2021-01-09 上传
2022-04-24 上传
2008-12-12 上传
yuanfang_2009wu
- 粉丝: 0
- 资源: 3
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器