blob: d0e2a2fdee5b5d409c488ad656900580e95deecc [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",
11 "linux.c",
12 "measure.c",
13 "pe.c",
14 "secure-boot.c",
15 "splash.c",
16 "stub.c",
17 "util.c",
18 ]] + glob(["src/boot/efi/*.h", "src/fundamental/*.c", "src/fundamental/*.h"]),
19 includes = ["src/fundamental"],
20 copts = ["-std=gnu99", "-DSD_BOOT", "-DGIT_VERSION=\\\"0.0.0-mngn\\\""],
21 deps = ["@gnuefi//:gnuefi"],
Jan Schär51c67482025-05-05 13:11:55 +000022 target_compatible_with = [
23 "@platforms//os:uefi",
24 ],
25 visibility = ["//visibility:private"],
26)
27
28platform_transition_filegroup(
29 name = "efistub",
30 srcs = [":efistub_bin"],
31 target_platform = select({
32 "@platforms//cpu:x86_64": "@//build/platforms:uefi_x86_64",
33 "@platforms//cpu:aarch64": "@//build/platforms:uefi_aarch64",
34 }),
Lorenz Brun5d40c672021-09-28 15:06:37 +020035 visibility = ["//visibility:public"],
36)