Не определяйте правила 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 будет полностью удален из сборки.