product 和 board 配置定义了会影响 build 的 Make 变量。这与定义 Make 规则的 Android.mk 文件相反。通过将顶级 product 配置 Makefile 添加到 AndroidProducts.mk
文件中的 PRODUCT_MAKEFILES
,您可以定义这些 Makefile。顶级 board 配置 Makefile 称为 BoardConfig.mk
,包含在以 TARGET_DEVICE
的值为名称的文件夹中。
如果在已设置 RBC_PRODUCT_CONFIG
和/或 RBC_BOARD_CONFIG
的情况下运行 build,这些文件将转换为 Starlark 并由 Starlark 解释器执行,而不是在 Make 中执行。
回归测试脚本
在使用和不使用 Starlark 自动转换器的情况下,由回归脚本 rbc_regression_test.sh 运行该 build,比较生成的 ninja 文件 - 所生成的 ninja 文件应该是相同的。
Makefile 中的问题
某些模式无法从 Make 转换为 Starlark,必须手动移除或重构。此过程现在可以实现了,以便为默认启用 Starlark 转换做好准备。如需了解一些常见模式和替代方案,请参阅边栏中“问题”部分下的页面。