blob: 12103686d888f0a3c5139ff00e0d10af4bb0dc1d [file] [log] [blame]
Lorenz Brun54a5a052023-10-02 16:40:11 +02001load("@rules_rust//rust:defs.bzl", "rust_binary")
Jan Schär778cc332025-04-29 16:31:40 +00002load("//osbase/build:def.bzl", "ignore_unused_configuration_target")
Lorenz Brun54a5a052023-10-02 16:40:11 +02003
4rust_binary(
Jan Schär778cc332025-04-29 16:31:40 +00005 name = "abloader_bin",
Lorenz Brun54a5a052023-10-02 16:40:11 +02006 srcs = ["main.rs"],
7 edition = "2021",
Jan Schär51c67482025-05-05 13:11:55 +00008 platform = select({
9 "@platforms//cpu:x86_64": "//build/platforms:uefi_x86_64",
10 "@platforms//cpu:aarch64": "//build/platforms:uefi_aarch64",
11 }),
Jan Schäre269ebf2025-04-23 09:52:49 +000012 # rust_binary depends on the status files by default, even if no stamp
13 # variables are used, which causes unnecessary rebuilds when the stable
14 # status file changes.
15 stamp = 0,
Lorenz Brun54a5a052023-10-02 16:40:11 +020016 target_compatible_with = [
17 "@platforms//os:uefi",
18 ],
Jan Schär778cc332025-04-29 16:31:40 +000019 visibility = ["//visibility:private"],
Lorenz Brun54a5a052023-10-02 16:40:11 +020020 deps = [
21 "//metropolis/node/core/abloader/spec:abloader_proto_rs",
Tim Windelschmidt223609c2024-01-12 22:59:20 +010022 "@crate_index_efi//:prost",
23 "@crate_index_efi//:uefi",
24 "@crate_index_efi//:uefi-services",
Lorenz Brun54a5a052023-10-02 16:40:11 +020025 ],
26)
Jan Schär778cc332025-04-29 16:31:40 +000027
28ignore_unused_configuration_target(
29 name = "abloader",
30 dep = ":abloader_bin",
31 visibility = ["//visibility:public"],
32)