blob: 5dc9696b09344c47949499e2cd9f9cfa1e6ff3a9 [file] [log] [blame]
Jan Schär51c67482025-05-05 13:11:55 +00001load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup")
Tim Windelschmidt16cb15a2025-02-24 18:47:48 +01002load("@rules_cc//cc:defs.bzl", "cc_binary")
3
Lorenz Brun5d40c672021-09-28 15:06:37 +02004cc_binary(
Jan Schär51c67482025-05-05 13:11:55 +00005 name = "efistub_bin",
Lorenz Brun5d40c672021-09-28 15:06:37 +02006 srcs = [("src/boot/efi/%s" % v) for v in [
7 "assert.c",
8 "cpio.c",
9 "disk.c",
10 "graphics.c",
Lorenz Brun6ff6b452025-05-22 14:35:09 +020011 "console.c",
12 "devicetree.c",
Lorenz Brun5d40c672021-09-28 15:06:37 +020013 "linux.c",
Lorenz Brun6ff6b452025-05-22 14:35:09 +020014 "linux_x86.c",
15 "initrd.c",
Lorenz Brun5d40c672021-09-28 15:06:37 +020016 "measure.c",
Lorenz Brun6ff6b452025-05-22 14:35:09 +020017 "ticks.c",
Lorenz Brun5d40c672021-09-28 15:06:37 +020018 "pe.c",
19 "secure-boot.c",
20 "splash.c",
21 "stub.c",
Lorenz Brun6ff6b452025-05-22 14:35:09 +020022 "efi-string.c",
Lorenz Brun5d40c672021-09-28 15:06:37 +020023 "util.c",
24 ]] + glob(["src/boot/efi/*.h", "src/fundamental/*.c", "src/fundamental/*.h"]),
Lorenz Brun6ff6b452025-05-22 14:35:09 +020025 includes = ["src/fundamental", "src/boot/efi"],
26 copts = ["-std=gnu11", "-O2", "-DSD_BOOT", "-DGIT_VERSION=\\\"0.0.0-mngn\\\""],
Lorenz Brun5d40c672021-09-28 15:06:37 +020027 deps = ["@gnuefi//:gnuefi"],
Jan Schär51c67482025-05-05 13:11:55 +000028 target_compatible_with = [
29 "@platforms//os:uefi",
30 ],
31 visibility = ["//visibility:private"],
32)
33
34platform_transition_filegroup(
35 name = "efistub",
36 srcs = [":efistub_bin"],
37 target_platform = select({
38 "@platforms//cpu:x86_64": "@//build/platforms:uefi_x86_64",
39 "@platforms//cpu:aarch64": "@//build/platforms:uefi_aarch64",
40 }),
Lorenz Brun5d40c672021-09-28 15:06:37 +020041 visibility = ["//visibility:public"],
42)