项目简介
本项目于2021年10月完成结构调整与更新,借鉴Android/build - root编译框架,构建了用于管理Linux应用层APP与内核部分的编译工具。该工具提供多样化编译方式,可根据各子项目的Makefile单独编译子项目,也能利用local.Mk在顶层目录 box/box 对所有项目一次性编译,还支持单独编译特定小项目。
项目的主要特性和功能
- 灵活编译:支持子项目单独编译、顶层目录一次性编译所有项目或单独编译特定小项目。
- 分类编译:可使用 "make app" 编译所有应用程序,"make bsp" 编译板级文件。
- 自定义编译链:允许用户指定编译工具链位置,以适配不同嵌入式工程需求。
- 源码添加支持:便于用户添加cpp、c语言、kernel、rootfs、uboot等源码文件,并通过修改对应Mk文件实现编译。
安装使用步骤
编译
- 进入目录:
cd box/box
- 编译所有应用程序:使用命令
make app
(此部分编译无编译链限制) - 编译板级文件:使用命令
make bsp
(构建嵌入式工程时需指定编译链位置) - 编译生成物位置:
- 应用程序:
./out/app_out/apps_target/app
- 内核、设备树以及文件系统:
out/bsp_out/bsp_target/
- 应用程序:
指定编译工具链
编辑Makefile,找到 BUILD_TOOL_CHAINS := <填上你自己的编译链路径>
,并填入实际的编译链路径,例如:
Makefile
BUILD_TOOL_CHAINS :=$(TOP_DIR)/build_tools/build_chains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu
添加自己的源码文件
- cpp文件:仿照 "box/box/apps/cpp_test" 中的进行添加。
- c语言文件:仿照 "box/box/apps/c_useful_demo" 中的demo进行添加。
- kernel、rootfs、uboot文件:仿照 box/box/bsp 下的进行添加。
- 添加后配置:
- 对于 box/box/apps 下新添加的文件,将新增的模块加进 app.Mk,添加后可在 box/box 中使用
make "your app module name"
进行编译。 - 对于 box/box/bsp 下新添加的文件,将新增的模块加进 bsp.Mk,添加后可在 box/box 中使用
make kernel
、make uboot
、make rootfs
分别进行编译。
- 对于 box/box/apps 下新添加的文件,将新增的模块加进 app.Mk,添加后可在 box/box 中使用
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】