blob: 2a2a02acdf95d03d474c0f473daedddb353222e7 [file] [log] [blame]
import("//build/arch/common.gni")
# Helper to build a hypervisor image
template("hypervisor") {
# Link objects together
executable("${target_name}__elf") {
forward_variables_from(invoker,
[
"cflags",
"cflags_c",
"defines",
"deps",
"public_deps",
"sources",
"test_only",
])
output_name = "${invoker.target_name}.elf"
ldflags = [
"-pie",
"-T",
rebase_path("//build/image/hypervisor.ld"),
"--defsym=PREFERRED_LOAD_ADDRESS=${arch_hypervisor_load_address}",
]
visibility = [ ":${invoker.target_name}" ]
}
action(target_name) {
file_root = rebase_path("${root_out_dir}/${target_name}")
elf_file = "${file_root}.elf"
bin_file = "${file_root}.bin"
script = "//build/image/convert_to_binary.py"
deps = [
":${target_name}__elf",
]
args = [
"--tool_prefix",
arch_tool_prefix,
"--input",
elf_file,
"--output",
bin_file,
]
outputs = [
"${target_out_dir}/${target_name}.bin",
]
}
}