blob: e8bd06e58bf27bd192a458635e0ab28df2ca8881 [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 = [
Jan Schär69b76872025-05-14 16:39:47 +000021 "//metropolis/node/abloader/spec:abloader_proto_rs",
Tim Windelschmidt223609c2024-01-12 22:59:20 +010022 "@crate_index_efi//:prost",
23 "@crate_index_efi//:uefi",
Lorenz Brun54a5a052023-10-02 16:40:11 +020024 ],
25)
Jan Schär778cc332025-04-29 16:31:40 +000026
27ignore_unused_configuration_target(
28 name = "abloader",
29 dep = ":abloader_bin",
30 visibility = ["//visibility:public"],
31)