consolidate.bzl 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. load(
  2. "//build/kernel/kleaf:kernel.bzl",
  3. "kernel_build",
  4. "kernel_build_config",
  5. "kernel_images",
  6. "kernel_modules_install",
  7. )
  8. load("//build/kernel/kleaf:constants.bzl", "aarch64_outs")
  9. load(":modules.bzl", "get_gki_modules_list")
  10. rule_base = "kernel_aarch64_consolidate"
  11. def _gen_config_without_source_lines(build_config, target):
  12. rule_name = "{}.{}".format(target, build_config)
  13. out_file_name = rule_name + ".generated"
  14. native.genrule(
  15. name = rule_name,
  16. srcs = [build_config],
  17. outs = [out_file_name],
  18. cmd_bash = "sed -e '/^\\. /d' $(location {}) > $@".format(build_config),
  19. )
  20. return ":" + rule_name
  21. def define_consolidate():
  22. kernel_build_config(
  23. name = rule_base + "_build_config",
  24. srcs = [
  25. # do not sort
  26. "build.config.constants",
  27. _gen_config_without_source_lines("build.config.common", rule_base),
  28. "build.config.aarch64",
  29. "build.config.gki_consolidate.aarch64",
  30. _gen_config_without_source_lines("build.config.gki.aarch64", rule_base),
  31. ],
  32. )
  33. kernel_build(
  34. name = rule_base,
  35. outs = aarch64_outs,
  36. implicit_outs = [
  37. "scripts/sign-file",
  38. "certs/signing_key.pem",
  39. "certs/signing_key.x509",
  40. ],
  41. make_goals = [
  42. "Image",
  43. "modules",
  44. "Image.lz4",
  45. "Image.gz",
  46. ],
  47. module_implicit_outs = get_gki_modules_list("arm64"),
  48. build_config = rule_base + "_build_config",
  49. )
  50. kernel_modules_install(
  51. name = "{}_modules_install".format(rule_base),
  52. kernel_build = ":{}".format(rule_base),
  53. )
  54. kernel_images(
  55. name = "{}_images".format(rule_base),
  56. kernel_build = ":{}".format(rule_base),
  57. build_system_dlkm = True,
  58. kernel_modules_install = ":{}_modules_install".format(rule_base),
  59. )