赞
踩
在编译的时候,需要扫描相应的子系统配置文件,子系统配置文件包含以下三个文件,定义了子系统的名称和所在路径。
现在支持在产品和设备配置的时候添加产品和设备对应的子系统路径,扫描时扫描对应目录下的子系统部件配置信息。
1、 gn gen
2、通过–dotfile指定根gn文件 build/lite/.gn
.gn文件的内容
**The location of the build configuration file. #1.完成gn的配置工作
buildconfig = “//build/lite/config/BUILDCONFIG.gn”
**The source root location. #2.完成gn的编译工作
root = “//build/lite”
3、构建编译 build/lite/BUILD.gn
有三个概念贯彻整个鸿蒙系统,子系统(subsystems),组件(components),功能(features).
先找到product_path下的 配置文件 config.json,里面配置了项目所要使用的子系统和组件.
再遍历项目所使用的组件是否能再 //build/lite/components/*.json组件集中能找到.
将找到的组件targets加入到编译列表deps中.targets指向了要编译的组件目录.例如内核组件时指向了://kernel/liteos_a:kernel,
4、结果文件
那么执行完gn gen 都会生成哪些文件和目录呢?
out/rk3568/
args.gn build.ninja build.ninja.d toolchain.ninja
其中build.ninja.d文件是所有BUILD.gn的依赖集合
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。