"Das U-Boot" Source Tree
1# SPDX-License-Identifier: GPL-2.0+
2#
3# (C) Copyright 2016 Alexander Graf
4#
5
6# This file only gets included with CONFIG_EFI_LOADER set, so all
7# object inclusion implicitly depends on it
8
9asflags-y += -I.
10
11CFLAGS_efi_boottime.o += \
12 -DFW_VERSION="0x$(VERSION)" \
13 -DFW_PATCHLEVEL="0x$(PATCHLEVEL)"
14
15# These are the apps that are built
16apps-$(CONFIG_RISCV) += boothart
17apps-$(CONFIG_BOOTEFI_HELLO_COMPILE) += helloworld
18apps-$(CONFIG_GENERATE_SMBIOS_TABLE) += smbiosdump
19apps-$(CONFIG_EFI_LOAD_FILE2_INITRD) += initrddump
20ifeq ($(CONFIG_GENERATE_ACPI_TABLE),)
21apps-y += dtbdump
22endif
23apps-$(CONFIG_BOOTEFI_TESTAPP_COMPILE) += testapp
24
25obj-$(CONFIG_CMD_BOOTEFI_HELLO) += helloworld_efi.o
26obj-$(CONFIG_EFI_BOOTMGR) += efi_bootmgr.o
27obj-$(CONFIG_EFI_BINARY_EXEC) += efi_bootbin.o
28obj-y += efi_boottime.o
29obj-y += efi_helper.o
30obj-$(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) += efi_capsule.o
31obj-$(CONFIG_EFI_CAPSULE_FIRMWARE) += efi_firmware.o
32obj-y += efi_console.o
33obj-y += efi_device_path.o
34obj-$(CONFIG_EFI_DEVICE_PATH_TO_TEXT) += efi_device_path_to_text.o
35obj-$(CONFIG_EFI_DEVICE_PATH_UTIL) += efi_device_path_utilities.o
36obj-y += efi_dt_fixup.o
37obj-y += efi_fdt.o
38obj-y += efi_file.o
39obj-$(CONFIG_EFI_LOADER_HII) += efi_hii.o
40obj-y += efi_image_loader.o
41obj-y += efi_load_options.o
42obj-y += efi_memory.o
43obj-y += efi_root_node.o
44obj-y += efi_runtime.o
45obj-y += efi_setup.o
46obj-y += efi_string.o
47obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2) += efi_unicode_collation.o
48obj-y += efi_var_common.o
49obj-y += efi_var_mem.o
50ifeq ($(CONFIG_EFI_MM_COMM_TEE),y)
51obj-y += efi_variable_tee.o
52else
53obj-y += efi_variable.o
54obj-y += efi_var_file.o
55obj-$(CONFIG_EFI_VARIABLES_PRESEED) += efi_var_seed.o
56endif
57obj-y += efi_watchdog.o
58obj-$(CONFIG_EFI_ESRT) += efi_esrt.o
59obj-$(CONFIG_VIDEO) += efi_gop.o
60obj-$(CONFIG_BLK) += efi_disk.o
61obj-$(CONFIG_NETDEVICES) += efi_net.o
62obj-$(CONFIG_EFI_IP4_CONFIG2_PROTOCOL) += efi_ipconfig.o
63obj-$(CONFIG_EFI_HTTP_PROTOCOL) += efi_http.o
64obj-$(CONFIG_ACPI) += efi_acpi.o
65obj-$(CONFIG_SMBIOS) += efi_smbios.o
66obj-$(CONFIG_EFI_RNG_PROTOCOL) += efi_rng.o
67obj-$(CONFIG_EFI_TCG2_PROTOCOL) += efi_tcg2.o
68obj-$(CONFIG_EFI_RISCV_BOOT_PROTOCOL) += efi_riscv.o
69obj-$(CONFIG_EFI_LOAD_FILE2_INITRD) += efi_load_initrd.o
70obj-$(CONFIG_EFI_SIGNATURE_SUPPORT) += efi_signature.o
71obj-$(CONFIG_EFI_ECPT) += efi_conformance.o
72
73EFI_VAR_SEED_FILE := $(subst $\",,$(CONFIG_EFI_VAR_SEED_FILE))
74$(obj)/efi_var_seed.o: $(srctree)/$(EFI_VAR_SEED_FILE)
75
76# Set the C flags to add and remove for each app
77$(foreach f,$(apps-y),\
78 $(eval CFLAGS_$(f).o := $(CFLAGS_EFI) -Os -ffreestanding)\
79 $(eval CFLAGS_REMOVE_$(f).o := $(CFLAGS_NON_EFI)))
80
81always += $(foreach f,$(apps-y),$(f).efi)
82targets += $(foreach f,$(apps-y),$(f).o)