blob: 87131ab911d6944b76ecf826a5ea70e90e291bc4 [file] [log] [blame]
Tom Rini70df9d62018-05-07 17:02:21 -04001# SPDX-License-Identifier: GPL-2.0+
Alexander Graf67ee7052016-03-04 01:10:07 +01002#
3# (C) Copyright 2016 Alexander Graf
4#
Alexander Graf67ee7052016-03-04 01:10:07 +01005
6# This file only gets included with CONFIG_EFI_LOADER set, so all
7# object inclusion implicitly depends on it
8
Heinrich Schuchardtdca25492024-04-04 01:00:41 +02009asflags-y += -I.
Heinrich Schuchardt0f675d92019-11-07 08:05:17 +010010
Heinrich Schuchardt27685f72018-06-28 12:45:30 +020011CFLAGS_efi_boottime.o += \
12 -DFW_VERSION="0x$(VERSION)" \
13 -DFW_PATCHLEVEL="0x$(PATCHLEVEL)"
Simon Glassfac4ced2016-11-07 08:47:08 -070014
Simon Glass4f6b7d52024-09-26 23:59:33 +020015# 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
Heinrich Schuchardtc348cf22022-03-03 08:13:53 +010020ifeq ($(CONFIG_GENERATE_ACPI_TABLE),)
Simon Glass4f6b7d52024-09-26 23:59:33 +020021apps-y += dtbdump
Heinrich Schuchardtc348cf22022-03-03 08:13:53 +010022endif
Simon Glass8a4ee052024-11-07 14:31:41 -070023apps-$(CONFIG_BOOTEFI_TESTAPP_COMPILE) += testapp
Heinrich Schuchardtc348cf22022-03-03 08:13:53 +010024
Simon Glassfac4ced2016-11-07 08:47:08 -070025obj-$(CONFIG_CMD_BOOTEFI_HELLO) += helloworld_efi.o
AKASHI Takahiroe3e542d2024-01-17 13:39:42 +090026obj-$(CONFIG_EFI_BOOTMGR) += efi_bootmgr.o
AKASHI Takahiro9b08b9a2024-01-17 13:39:41 +090027obj-$(CONFIG_EFI_BINARY_EXEC) += efi_bootbin.o
Heinrich Schuchardte59072a2018-09-04 19:34:58 +020028obj-y += efi_boottime.o
Ilias Apalodimasaa0f7552021-03-17 21:54:59 +020029obj-y += efi_helper.o
AKASHI Takahiro473d9b32020-11-17 09:27:55 +090030obj-$(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) += efi_capsule.o
AKASHI Takahiro7ff3f3c2020-11-17 09:28:00 +090031obj-$(CONFIG_EFI_CAPSULE_FIRMWARE) += efi_firmware.o
Heinrich Schuchardte59072a2018-09-04 19:34:58 +020032obj-y += efi_console.o
33obj-y += efi_device_path.o
Heinrich Schuchardt3db35912019-05-11 09:53:33 +020034obj-$(CONFIG_EFI_DEVICE_PATH_TO_TEXT) += efi_device_path_to_text.o
Heinrich Schuchardt1cb1a9d2021-01-16 09:44:25 +010035obj-$(CONFIG_EFI_DEVICE_PATH_UTIL) += efi_device_path_utilities.o
Heinrich Schuchardt2c1e2242020-12-13 10:30:24 +010036obj-y += efi_dt_fixup.o
Heinrich Schuchardt1a41ca42024-04-26 16:13:18 +020037obj-y += efi_fdt.o
Heinrich Schuchardte59072a2018-09-04 19:34:58 +020038obj-y += efi_file.o
Heinrich Schuchardt2a2654f2020-12-07 18:20:57 +010039obj-$(CONFIG_EFI_LOADER_HII) += efi_hii.o
Heinrich Schuchardte59072a2018-09-04 19:34:58 +020040obj-y += efi_image_loader.o
Heinrich Schuchardta8cb98f2021-01-15 19:02:49 +010041obj-y += efi_load_options.o
Heinrich Schuchardte59072a2018-09-04 19:34:58 +020042obj-y += efi_memory.o
Heinrich Schuchardt79d72022018-09-20 21:58:23 +020043obj-y += efi_root_node.o
Heinrich Schuchardte59072a2018-09-04 19:34:58 +020044obj-y += efi_runtime.o
AKASHI Takahiro7e0badb2018-12-30 15:16:55 +010045obj-y += efi_setup.o
AKASHI Takahiro94074682020-10-29 13:47:46 +090046obj-y += efi_string.o
Heinrich Schuchardtb3258842019-05-16 07:52:58 +020047obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2) += efi_unicode_collation.o
Heinrich Schuchardt9827e842020-06-22 18:10:27 +020048obj-y += efi_var_common.o
Heinrich Schuchardt29ef99c2020-03-22 09:07:50 +010049obj-y += efi_var_mem.o
Ilias Apalodimas77a364f2020-05-17 22:25:44 +030050ifeq ($(CONFIG_EFI_MM_COMM_TEE),y)
51obj-y += efi_variable_tee.o
52else
Heinrich Schuchardte59072a2018-09-04 19:34:58 +020053obj-y += efi_variable.o
Ilias Apalodimascc0ead72024-04-05 09:50:58 +030054obj-y += efi_var_file.o
Heinrich Schuchardt4b7d5c12020-07-14 21:25:28 +020055obj-$(CONFIG_EFI_VARIABLES_PRESEED) += efi_var_seed.o
Ilias Apalodimas77a364f2020-05-17 22:25:44 +030056endif
Leif Lindholmb6e6fdc2018-03-09 17:43:21 +010057obj-y += efi_watchdog.o
Jose Marinhoebb61ee2021-03-02 17:26:38 +000058obj-$(CONFIG_EFI_ESRT) += efi_esrt.o
Simon Glass52cb5042022-10-18 07:46:31 -060059obj-$(CONFIG_VIDEO) += efi_gop.o
AKASHI Takahiro85ff9612022-04-19 10:01:57 +090060obj-$(CONFIG_BLK) += efi_disk.o
Jan Kiszkaf1389822022-10-14 18:10:06 +020061obj-$(CONFIG_NETDEVICES) += efi_net.o
Simon Glassb0a85442023-09-19 21:00:12 -060062obj-$(CONFIG_ACPI) += efi_acpi.o
Simon Glassaadec122023-09-20 07:29:51 -060063obj-$(CONFIG_SMBIOS) += efi_smbios.o
Sughosh Ganu7064a5d2019-12-29 00:01:05 +053064obj-$(CONFIG_EFI_RNG_PROTOCOL) += efi_rng.o
Ilias Apalodimas590fef62020-11-11 11:18:11 +020065obj-$(CONFIG_EFI_TCG2_PROTOCOL) += efi_tcg2.o
Sunil V L279d1c82022-01-28 20:48:44 +053066obj-$(CONFIG_EFI_RISCV_BOOT_PROTOCOL) += efi_riscv.o
Ilias Apalodimas3510ba72020-02-21 09:55:45 +020067obj-$(CONFIG_EFI_LOAD_FILE2_INITRD) += efi_load_initrd.o
Masahisa Kojima915e4272021-05-14 09:53:36 +090068obj-$(CONFIG_EFI_SIGNATURE_SUPPORT) += efi_signature.o
Jose Marinhoff72cb32021-12-23 14:51:07 +000069obj-$(CONFIG_EFI_ECPT) += efi_conformance.o
Heinrich Schuchardt4b7d5c12020-07-14 21:25:28 +020070
71EFI_VAR_SEED_FILE := $(subst $\",,$(CONFIG_EFI_VAR_SEED_FILE))
72$(obj)/efi_var_seed.o: $(srctree)/$(EFI_VAR_SEED_FILE)
Simon Glass4f6b7d52024-09-26 23:59:33 +020073
Simon Glassb74a0e02024-09-26 23:59:34 +020074# Set the C flags to add and remove for each app
75$(foreach f,$(apps-y),\
76 $(eval CFLAGS_$(f).o := $(CFLAGS_EFI) -Os -ffreestanding)\
77 $(eval CFLAGS_REMOVE_$(f).o := $(CFLAGS_NON_EFI)))
78
Simon Glass4f6b7d52024-09-26 23:59:33 +020079always += $(foreach f,$(apps-y),$(f).efi)
80targets += $(foreach f,$(apps-y),$(f).o)