Regeln machen

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.