Establecer reglas

No defina reglas de fabricación en la configuración del producto. Una regla Make se ve así:

output_file_name: dependencies
    shell commands to build the output

La configuración del producto/placa está diseñada para establecer solo las variables que luego se usan en la compilación, no para definir nuevas acciones de compilación. Estas reglas deben convertirse en módulos Soong, o cuando la conversión de Bazel está lo suficientemente avanzada, los objetivos de Bazel. El tipo de módulo genrule de Soong es lo suficientemente genérico para cubrir la mayoría de los casos de uso.

Si la conversión a Soong es demasiado desafiante en este momento, mueva la regla a cualquier archivo que coincida con {device,product,vendor}/*/[*/]build/tasks/*.mk . Estos archivos siempre están incluidos en el sistema de compilación, pero están separados de la configuración del producto. Se incluyen todo el tiempo, por lo que cualquier regla agregada allí debe estar protegida por una variable que se establece en la configuración del producto, por lo que la regla no está definida para otros productos. Vea esta lista de cambios, Mueva las reglas de creación de la configuración de la placa a la compilación/tareas

Tenga en cuenta que las carpetas de build/tasks también tendrán que eliminarse eventualmente cuando Make se elimine por completo de la compilación.