mooon编译系统:一键构建,基于automake的可复用Makefile
需积分: 9 17 浏览量
更新于2024-09-12
收藏 1.32MB PDF 举报
mooon编译系统是一种基于automake的高级解决方案,专为简化C/C++项目的构建过程而设计。该系统旨在减轻开发者在编写Makefile时的工作量,特别是对于初学者和不熟悉automake细节的人来说。通过引入一个名为bootstrap.sh的脚本,mooon编译系统实现了自动化模板生成,使得用户无需逐个手动填写源代码文件。
使用mooon编译系统的基本流程如下:
1. **安装和配置**:首先,你需要访问mooon项目页面(<http://code.google.com/p/mooon>),下载并理解bootstrap.sh的作用。这个脚本会处理自动化生成关键配置文件的过程,如`configure.ac.in`、`Makefile.rule.in`和`Makefile.am.in`。
2. **文件结构**:主要包含以下几类文件:
- `bootstrap.sh`:核心脚本,负责自动化模板转换。
- `configure.ac.in`:原始自动配置脚本,用于自动生成configure脚本。
- `Makefile.rule.in` 和 `Makefile.am.in`:模板Makefile规则和主配置文件,由bootstrap.sh生成最终文件。
- 主目录下的其他文件(如`Makefile.am`、`NEWS`等):部分需要手动编辑,如`Makefile.am`用于定义项目的构建细节。
- 子目录的文件:遵循类似的结构,可能有针对特定模块的`Makefile.am`。
3. **操作步骤**:
- 修改`configure.ac.in`:根据项目需求定制基本的编译选项和依赖。
- 修改`Makefile.rule.in`:设置编译规则,如链接、编译目标等。
- 修改`Makefile.am`:更具体地定义源代码文件、目标文件、库类型(静态或共享)以及可执行程序。
- 使用`bootstrap.sh`:运行脚本来生成`Makefile.am`和其他相关文件。
4. **推荐**:尽管mooon编译系统简化了使用,但作者建议对Makefile和automake的基本原理有所了解,以便更好地理解和调整系统以适应项目需求。
5. **模板文件与标准文件**:`.in`后缀的文件是模板,用于指导自动化过程,而标准automake规定的是最终生成的文件。通过bootstrap.sh处理,这些模板最终生成了完整的Makefile.am。
mooon编译系统提供了一个快速上手且易于维护的构建框架,适合那些希望专注于代码本身而不必过多关注底层构建细节的开发者。同时,对于希望深入了解Makefile和automake机制的专业人员,它也是一个良好的起点和实践平台。
2021-02-03 上传
2018-09-09 上传
2022-08-03 上传
点击了解资源详情
点击了解资源详情
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
岚天逸见
- 粉丝: 450
- 资源: 53
最新资源
- Python库 | mtgpu-0.2.5-py3-none-any.whl
- endpoint-testing-afternoon:一个下午的项目,以帮助使用Postman巩固测试端点
- 经济中心
- z7-mybatis:针对mybatis框架的练习,目前主要技术栈包含springboot,mybatis,grpc,swgger2,redis,restful风格接口
- Cloudslides-Android:云幻灯同步演示应用-Android Client
- testingmk:做尼采河
- ecom-doc-static
- kindle-clippings-to-markdown:将Kindle的“剪贴”文件转换为Markdown文件,每本书一个
- 减去图像均值matlab代码-TVspecNET:深度学习的光谱总变异分解
- 自动绿色
- Alexa-Skills-DriveTime:该存储库旨在演示如何建立ALEXA技能,以帮助所有人了解当前流量中从源头到达目的地所花费的时间
- 灰色按钮克星易语言版.zip易语言项目例子源码下载
- HTML5:基本HTML5
- dubbadhar-light
- 使用Xamarin Forms创建离线移动密码管理器
- matlab对直接序列扩频和直接序列码分多址进行仿真实验源代码