博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单编译框架
阅读量:6633 次
发布时间:2019-06-25

本文共 646 字,大约阅读时间需要 2 分钟。

概述

这是我在GitHub上的第一个项目,用于模块化软件提供一个简单的配置和编译框架。

使用前提

  1. 将你的项目划分成一个主模块和若干个其他模块;
  2. 确保每个模块都是自包含的,即除了公用接口,本模块的所有源代码、私有头文件、配置文件等都应当放在对应的模块目录内。.

功能:

  1. 使用简单的Makefile片段(仅需模块名、源文件列表和可选的编译选项等)添加模块;
  2. 使用尽可能少的修改(仅需名称和可选的编译选项等)将1个文件添加到1个模块;
  3. 支持模块嵌套;
  4. 支持为每个文件或模块指定编译选项;
  5. 支持输出目录指定。

如何使用

  1. 基于框架中的main/mod1/mod2创建主模块和其他模块;
  2. 为每个最底层的模块添加源码、编译选项和module.mk;
  3. 在编译框架根目录下执行make命令,目标文件和最终的可执行文件main将会生成在指定或者默认的输出目录下。

注意:

可以使用 make help 得到所有支持的make命令及其用法.

TODO

  1. 支持C++文件和头文件;support for C++/Assembly files and header files;
  2. 支持kconfig(make config, make menuconfig等);
  3. 支持minggw环境;
  4. 支持更多的配置项(编译器指定, 可执行文件名, 编译信息等级等).

转载于:https://www.cnblogs.com/EmbeddedLiving/p/5b43d7c17faf6945a53ad089b5c17c01.html

你可能感兴趣的文章
Oracle 12c 安装手册
查看>>
把 HttpHandler.ashx 修改为 异步编程 异步操作
查看>>
菜鸟学Java(九)——Servlet的基本配置
查看>>
设计模式学习--面向对象的5条设计原则之单一职责原则--SRP
查看>>
PostgreSQL的HOT(Heap-Only Tuples)
查看>>
FEC难:
查看>>
difference between TotalFreeSpace and AvailableFreeSpace
查看>>
javascript面向对象的一些写法
查看>>
图片存储那些事
查看>>
lua中常量的实现及表的深拷贝实现
查看>>
Transformer中引用iqd作为数据源的时候数据预览出现乱码
查看>>
UML--核心元素之业务实体
查看>>
使用JAVA的URL类处理url事例
查看>>
C链表
查看>>
安装C/C++交叉编译环境
查看>>
Extjs4.x 共享组件,写法
查看>>
一段测试try...catch运行时间的代码
查看>>
C++读写文件流的相关介绍
查看>>
sql, plsql 总结
查看>>
JavaScript类型转换
查看>>