قوانین ساخت را در پیکربندی محصول تعریف نکنید. یک قانون Make به صورت زیر است:
output_file_name: dependencies
shell commands to build the output
پیکربندی محصول/برد فقط برای تنظیم متغیرهایی است که بعداً در ساخت استفاده میشوند، نه اینکه اقدامات ساخت جدید را تعریف کنند. این قوانین باید به ماژولهای Soong تبدیل شوند، یا زمانی که تبدیل Bazel به اندازه کافی دور است، Bazel را هدف قرار دهید. نوع ماژول genrule
Soong به اندازه کافی عمومی است که بیشتر موارد استفاده را پوشش دهد.
اگر تبدیل به Soong در حال حاضر بسیار چالش برانگیز است، قانون را به هر فایلی که با {device,product,vendor}/*/[*/]build/tasks/*.mk
مطابقت دارد منتقل کنید. این فایل ها همیشه توسط سیستم ساخت گنجانده می شوند، اما از پیکربندی محصول جدا هستند. آنها همیشه شامل می شوند، بنابراین هر قانون اضافه شده در آنجا باید توسط متغیری که در پیکربندی محصول تنظیم شده است محافظت شود، بنابراین این قانون برای محصولات دیگر تعریف نشده است. این فهرست تغییرات را ببینید، قوانین را از پیکربندی برد به build/tasks منتقل کنید
به خاطر داشته باشید که پس از حذف کامل Make از بیلد، پوشههای build/tasks
نیز در نهایت باید حذف شوند.