android_kernel_samsung_sm8650/dpm_image.bzl
John Moon 5136a9f974 ANDROID: build: Add define_dpm_image macro
Currently, there's no way to generate a dpm.img file from the Bazel
build. As this should be generated when a dpm overlay dtbo exists,
generate it in that case.

To make use of this macro, just set dpm_overlay = True when defining
an LA target.

Change-Id: I10222499737ffb9b43cb2bac235ada66c8cae2e5
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
2023-10-04 15:59:49 -07:00

33 lines
1005 B
Python

load("@//build/kernel/kleaf:hermetic_tools.bzl", "hermetic_genrule")
def define_dpm_image(tv):
target = tv.split("_")[0]
hermetic_genrule(
name = "{}_dpm_image".format(tv),
srcs = [
"//msm-kernel:{}_build_config".format(tv),
"//msm-kernel:{}/{}-dpm-overlay.dtbo".format(tv, target),
],
outs = ["{}/dpm.img".format(tv)],
cmd = """
# Stub out append_cmd
append_cmd() {{
:
}}
set +u
source "$(location //msm-kernel:{tv}_build_config)"
set -u
$(location //prebuilts/kernel-build-tools:linux-x86/bin/mkdtboimg) \
create "$@" --page_size="$$PAGE_SIZE" \
"$(location //msm-kernel:{tv}/{target}-dpm-overlay.dtbo)"
""".format(
tv = tv,
target = target,
),
tools = [
"//prebuilts/kernel-build-tools:linux-x86/bin/mkdtboimg",
],
)