Definieren Sie keine Make-Regeln in der Produktkonfiguration. Eine Make-Regel sieht folgendermaßen aus:
output_file_name: dependencies
shell commands to build the output
Die Produkt-/Board-Konfiguration soll nur Variablen festlegen, die später im Build verwendet werden, und keine neuen Build-Aktionen definieren. Diese Regeln sollten in Soong-Module umgewandelt werden, oder, wenn die Bazel-Umstellung weit genug fortgeschritten ist, Bazel-Ziele. Der genrule
Modultyp von Soong ist generisch genug, um die meisten Anwendungsfälle abzudecken.
Wenn die Konvertierung in Soong derzeit zu schwierig ist, verschieben Sie die Regel in eine beliebige Datei {device,product,vendor}/*/[*/]build/tasks/*.mk
. Diese Dateien sind immer im Build-System enthalten, jedoch getrennt von der Produktkonfiguration. Sie sind ständig enthalten, daher müssen alle dort hinzugefügten Regeln durch eine Variable geschützt werden, die in der Produktkonfiguration festgelegt wird, damit die Regel nicht für andere Produkte definiert wird. Siehe diese Änderungsliste: Make-Regeln von Board-Konfiguration nach Build/Aufgaben verschieben
Beachten Sie, dass die Ordner build/tasks
eventuell auch entfernt werden müssen, wenn Make vollständig aus dem Build entfernt wird.