Не определяйте правила make в конфигурации продукта. Правило Make выглядит следующим образом:
output_file_name: dependencies
shell commands to build the output
Конфигурация продукта/платы предназначена только для установки переменных, которые позже используются в сборке, а не для определения новых действий сборки. Эти правила должны быть преобразованы в модули Soong, или, когда преобразование Bazel продвинется достаточно далеко, Bazel нацеливается на них. Тип модуля genrule
достаточно общий, чтобы охватить большинство случаев использования.
Если преобразование в Soong сейчас слишком сложно, переместите правило в любой файл, соответствующий {device,product,vendor}/*/[*/]build/tasks/*.mk
. Эти файлы всегда включаются в систему сборки, но не входят в конфигурацию продукта. Они включены постоянно, поэтому любые добавленные правила должны быть защищены переменной, установленной в конфигурации продукта, чтобы правило не определялось для других продуктов. См. этот список изменений, Переместите правила Make из конфигурации платы в сборку/задачи .
Имейте в виду, что папки build/tasks
также в конечном итоге придется удалить, когда Make будет полностью удален из сборки.