Make 规则

请勿在产品配置中定义 Make 规则。Make 规则如下所示:

output_file_name: dependencies
    shell commands to build the output

产品/开发板配置仅用于设置日后会在 build 中使用的变量,而不定义新的 build 操作。这些规则应转换为 Soong 模块或(当 Bazel 转换取得足够进展时)Bazel 目标。Soong 的 genrule 模块类型是通用的,足以满足大多数用例的需要。

如果目前很难转换为 Soong,请将规则移到与 {device,product,vendor}/*/[*/]build/tasks/*.mk 匹配的任何文件中。这类文件始终含在构建系统中,但与产品配置是分开的。系统始终包含这类文件,因此添加到其中的任何规则都必须由在产品配置中设置的变量进行保护,故而该规则不会为其他产品定义。请参阅此变更列表:Move Make rules from board config to build/tasks(将 Make 规则从开发板配置移至 build/tasks 中)

请注意,在将 Make 从 build 中完全移除后,最终还必须一并移除 build/tasks 文件夹。