GNUmake中文手册:指定变量与Makefile规则解析
需积分: 34 70 浏览量
更新于2024-08-10
收藏 1.45MB PDF 举报
"指定变量-stc8h 系列单片机技术参考手册"
在编程领域,尤其是使用GNU Make工具时,指定变量是一个重要的概念。在给出的描述中,提到了一个示例,它展示了如何使用指定变量来构建一个名为"edit"的程序。在这个例子中,`edit`是最终的目标,而`.o`文件如`main.o`, `kbd.o`, `command.o`, `display.o`, `insert.o`, `search.o`, `files.o`, 和 `utils.o` 是构建`edit`所需要的依赖目标。GNU Make使用这些变量定义了目标与依赖之间的关系,并通过执行编译和链接命令来创建最终的可执行文件。
指定变量,即用户自定义的变量,允许我们在Makefile中存储和重用值,简化复杂的构建规则。在Makefile中,变量可以用于存储路径、编译选项、文件列表等。例如,你可以定义一个变量`OBJECTS`来包含所有的`.o`文件,然后在构建规则中引用这个变量,这样当添加或删除源文件时,只需要更新`OBJECTS`即可。
```makefile
OBJECTS = main.o kbd.o command.o display.o insert.o search.o files.o utils.o
edit: $(OBJECTS)
cc -o edit $(OBJECTS)
```
这里,`OBJECTS`变量包含了所有`.o`文件,当`edit`规则执行时,`$(OBJECTS)`被展开为文件列表,使得`cc`命令能够正确地链接这些对象文件。
GNU Make的中文手册提供了更深入的指南,包括Makefile的结构、规则的定义、依赖的处理方式、通配符的使用、目录搜索以及如何处理隐含规则等。比如,`wildcard`函数可以用来动态获取当前目录下的匹配文件,`VPATH`变量可以指定搜索依赖文件的额外目录,而`vpath`则允许对特定类型的文件指定特定的搜索路径。
此外,Makefile中还有特殊的伪目标,如`.PHONY`,用于标记那些实际上并不对应于物理文件的目标,确保每次make运行时都会执行相应的命令,即使目标文件已经存在。`make`在解析Makefile时会先确定变量的值,然后根据规则执行命令,条件语句允许我们根据特定条件执行不同的构建逻辑。
总结来说,指定变量在Makefile中扮演着至关重要的角色,它们增强了Makefile的可读性和维护性,使得构建过程更加灵活和高效。通过理解和熟练运用指定变量,开发者可以更好地管理和自动化项目构建过程。
105 浏览量
110 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
131 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
思索bike
- 粉丝: 38
- 资源: 3979
最新资源
- 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语言构建高效分布式网络爬虫