Don't define make rules in the product configuration. A Make rule looks like this:
output_file_name: dependencies
shell commands to build the output
The product/board configuration is intended to only set variables that are
later used in the build, not define new build actions. These rules should
be converted to Soong modules, or when the Bazel conversion is far enough along,
Bazel targets. Soong's genrule
module type is generic enough to cover most
use cases.
If converting to Soong is too challenging right now, move the rule into any file
matching {device,product,vendor}/*/[*/]build/tasks/*.mk
. These files are
always included by the build system, but are separate from the product
configuration. They're included all the time, so any rules added there must be
guarded by a variable that is set in the product configuration, so the rule is
not defined for other products. See this changelist,
Move Make rules from board config to build/tasks
Keep in mind that the build/tasks
folders will also eventually have to be
removed when Make is removed from the build entirely.