1 Star 2 Fork 0

RT-Thread / smart-build

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

smart-build

smart-build 是一款基于 xmake 实现的类 buildroot 的交叉构建系统,用于 RT-Thread Smart 开源操作系统。可以编译基础的软件包(调用xmake & xrepo的方式),构建出基本的应用程序,并输出相关文件到根文件系统文件夹下。

基本功能

  • 支持两种以上架构的编译工具链,目前支持: arm、aarch64;
  • 支持不同版本的软件包;
  • 支持 release/debug 模式编译;
  • 支持按静态库模式编译,支持按动态库模式编译;
  • 支持在最终输出到根文件系统时 strip 掉多余的符号信息;

目录结构

smart-build 目录结构如下所示:

smart-build
├───figures                                         // 文档使用图片
├───rt-xrpo                                         // 本地包索引
|   |───packages
|   |   |───c
|   |   |   |───cul                                 // 软件包名字
|   |   |   |   |───patches                         // 补丁文件
|   |   |   |   |───xmake.lua                       // 编译配置
|   |   |───d
|───scripts                                         // 配置文件,包括界面配置
|   |───buildroot.lua                               // 自定义task脚本
|   |───menuconfig.lua                              // 菜单逻辑脚本
|   |───packages.lua                                // 菜单选项脚本
|   |───platform.lua                                // 平台设置脚本
|───toolchains                                      // 工具链配置 
|   |───aarch64.lua                                 // aarch64 架构工具链配置脚本
|   |───arm.lua                                     // arm 架构工具链配置脚本
|───xmake.lua                                       // 工程主文件
│───README.md                                       // 工具使用说明
│───二次开发文档.md                                  // 二次开发使用说明

安装方法

Ubuntu

  1. 首次使用,需要安装 xmake 环境

    $ bash <(curl -fsSL https://xmake.io/shget.text)
    $ source ~/.xmake/profile
  2. 如果需要使用最新的一些 xmake 特性,使用下面的命令更新到 dev 分支

    xmake update -s dev
  3. 在 rttthread-smart/useraps 目录下,使用下面的命令下载 smart-build 工具

    git clone https://github.com/xmake-io/smart-build.git
  4. smart-build 存放位置

image-20220803155859823

命令行

目前 smart-build 工具支持的命令行如下:

    -m, --menuconfig                    Config and build the selected apps.
    -b, --build                         Build the selected apps.
    -c, --clean                         Clean all installed apps.
    -a APP, --app=APP                   Select the debug app.
    -d DEBUGDIR, --debugdir=DEBUGDIR    Debug app source dir

menuconfig

打开 menuconfig 界面,配置完成后,自动拉取软件包进行编译安装。

xmake buildroot --menuconfig

build

不打开 menuconfig 界面,编译并安装已选择的软件包。

xmake buildroot --build

clean

删除所有已经安装的apps (默认位置$HOME/.xmake/packages/*):

xmake buildroot --clean

输出详细日志

使用命令 -v 可以查看详细的日志信息:

xmake buildroot --build -v

使用方法

生成可执行文件

smart-build 工具支持生成可执行文件。以 lua app 为例,演示配置流程:

  1. 使用命令 xmake buildroot --menuconfig 打开配置界面

    image-20220809162916935

  2. 选择 Target options 配置目标架构和工具链

    image-20220809162916935

  3. 选择 Target packages 配置软件包

    image-20220809162916935

  4. 打开Interpreter landuages and scripting选项,选择 lua 软件包

    image-20220809162916935

  5. 保存配置,会自动进行编译:

    image-20220809162954794

  6. 生成的可执行文件,会自动拷贝到 userapps/root/bin 目录下

    image-20220809163042480

生成库文件

smart-build 支持生成静态库和动态库文件。

生成静态库

  1. 使用命令 xmake buildroot --menuconfig 打开配置界面

    image-20220809162916935

  2. 选择目标文件类型为静态库

    image-20220809162916935

  3. 选择 zlib 软件包

    image-20220809162916935

  4. 保存并退出,安装 zlib 静态库

    image-20220809162916935

生成动态库

  1. 使用命令 xmake buildroot --menuconfig 打开配置界面

    image-20220809162916935

  2. 选择目标文件类型为动态库

    image-20220809162916935

  3. 选择 zlib 软件包

    image-20220809162916935

  4. 保存并退出,安装 zlib 动态库

    image-20220809162916935

调试 APP

smart-build 工具支持调试已下载的软件包:

  • 支持修改软件包里的代码
  • 在进行编译时,可以直接进行增量编译 & 安装

以 zlib 软件包为例,使用下面命令调试 zlib 软件包

xmake buildroot --debugdir=/home/liukang/.xmake/cache/packages/2210/z/zlib/1.2.8/source --app=zlib

参考链接

RT-Thread 官方网站

Xmake 官方网站

rt-smart 仓库地址

空文件

简介

暂无描述 展开 收起
Lua 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Lua
1
https://gitee.com/rtthread/smart-build.git
git@gitee.com:rtthread/smart-build.git
rtthread
smart-build
smart-build
master

搜索帮助