blob: a2649a6e430f9aa768ab74a55c7a32fd81abd9a5 [file] [log] [blame]
Patrick Georgi8480c0b2020-05-08 22:50:46 +02001## SPDX-License-Identifier: GPL-2.0-only
Martin Roth4769cc32016-06-02 16:42:29 -06002
3# force the shell to bash - the edksetup.sh script doesn't work with dash
4export SHELL := env bash
5
Sean Rhodes38c99b52022-07-13 10:11:44 +01006project_name = edk2
Sean Rhodes403d2202022-08-02 08:54:12 +01007export WORKSPACE := $(CURDIR)/workspace
8export EDK2_PATH := $(WORKSPACE)/$(word 3,$(subst /, ,$(CONFIG_EDK2_REPOSITORY)))
Michał Żygowski82d814a2022-10-26 11:32:54 +02009
10ifeq ($(CONFIG_EDK2_USE_EDK2_PLATFORMS),y)
11export EDK2_PLATFORMS_PATH := $(WORKSPACE)/edk2-platforms
12export PACKAGES_PATH := $(EDK2_PATH):\
13 $(EDK2_PLATFORMS_PATH)/Platform/Intel:\
14 $(EDK2_PLATFORMS_PATH)/Silicon/Intel:\
15 $(EDK2_PLATFORMS_PATH)/Features/Intel:\
16 $(EDK2_PLATFORMS_PATH)/Features/Intel/Debugging:\
17 $(EDK2_PLATFORMS_PATH)/Features/Intel/Network:\
18 $(EDK2_PLATFORMS_PATH)/Features/Intel/OutOfBandManagement:\
19 $(EDK2_PLATFORMS_PATH)/Features/Intel/PowerManagement:\
20 $(EDK2_PLATFORMS_PATH)/Features/Intel/SystemInformation:\
21 $(EDK2_PLATFORMS_PATH)/Features/Intel/UserInterface
22else
Sean Rhodes403d2202022-08-02 08:54:12 +010023export PACKAGES_PATH := $(EDK2_PATH)
Michał Żygowski82d814a2022-10-26 11:32:54 +020024endif
Matt DeVillier38b6ccf2019-02-20 23:46:15 -060025
Sean Rhodesa52d26f2022-10-24 09:53:45 +010026OBJCOPY = $(GCC_PREFIX)objcopy
27
Sean Rhodesa46fd862022-10-06 21:32:43 +010028ifeq ($(CONFIG_EDK2_UEFIPAYLOAD),y)
Sean Rhodes234c42f2022-08-02 10:00:56 +010029BUILD_STR = -p UefiPayloadPkg/UefiPayloadPkg.dsc
Sean Rhodesa46fd862022-10-06 21:32:43 +010030endif
Sean Rhodes234c42f2022-08-02 10:00:56 +010031BUILD_STR += -t COREBOOT
32BUILD_STR += -D BOOTLOADER=COREBOOT
Benjamin Doron21af6b42023-05-12 01:23:11 -040033ifneq ($(V),1)
Sean Rhodes3c166162022-10-06 21:29:26 +010034BUILD_STR += -q
35ifeq ($(CONFIG_EDK2_UEFIPAYLOAD),y)
36BUILD_STR += -s
37endif
Sean Rhodes0d6dc482022-09-16 09:18:38 +010038endif
Sean Rhodes0884f2102022-02-04 07:41:16 +000039
40#
41# EDK II has the following build options relevant to coreboot:
42#
43#
44# OPTION = DEFAULT_VALUE
45#
Sean Rhodes0884f2102022-02-04 07:41:16 +000046# BOOTSPLASH_IMAGE = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +010047ifneq ($(CONFIG_EDK2_BOOTSPLASH_FILE),)
Sean Rhodes0884f2102022-02-04 07:41:16 +000048BUILD_STR += -D BOOTSPLASH_IMAGE=TRUE
49endif
Sean Rhodesc8decce2022-02-09 08:25:39 +000050# BOOT_MANAGER_ESCAPE = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +010051ifeq ($(CONFIG_EDK2_BOOT_MANAGER_ESCAPE),y)
Sean Rhodesc8decce2022-02-09 08:25:39 +000052BUILD_STR += -D BOOT_MANAGER_ESCAPE=TRUE
53endif
Sean Rhodes0884f2102022-02-04 07:41:16 +000054# BUILD_TARGETS = DEBUG
Sean Rhodes147c9572022-08-02 08:59:48 +010055ifeq ($(CONFIG_EDK2_DEBUG),y)
56RELEASE_STR = DEBUG
57else
58RELEASE_STR = RELEASE
Sean Rhodes0884f2102022-02-04 07:41:16 +000059endif
Sean Rhodes7bbc9a52022-07-18 11:31:00 +010060# CPU_TIMER_LIB_ENABLE = TRUE
61ifneq ($(CONFIG_EDK2_CPU_TIMER_LIB),y)
62BUILD_STR += -D CPU_TIMER_LIB_ENABLE=FALSE
63else
64BUILD_STR += --pcd gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency=$(CONFIG_CPU_XTAL_HZ)
65endif
Sean Rhodes8e10a482022-07-04 17:01:09 +010066# DISABLE_SERIAL_TERMINAL = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +010067ifneq ($(CONFIG_EDK2_SERIAL_SUPPORT),y)
Sean Rhodes8e10a482022-07-04 17:01:09 +010068BUILD_STR += -D DISABLE_SERIAL_TERMINAL=TRUE
69endif
Sean Rhodes14d67b32022-02-09 08:27:29 +000070# FOLLOW_BGRT_SPEC = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +010071ifeq ($(CONFIG_EDK2_FOLLOW_BGRT_SPEC),y)
Sean Rhodes14d67b32022-02-09 08:27:29 +000072BUILD_STR += -D FOLLOW_BGRT_SPEC=TRUE
73endif
Sean Rhodes5a26d812022-07-04 21:44:32 +010074# PCIE_BASE_ADDRESS = 0
75ifneq ($(CONFIG_ECAM_MMCONF_LENGTH),)
76BUILD_STR += --pcd gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress=$(CONFIG_ECAM_MMCONF_BASE_ADDRESS)
77endif
78# PCIE_BASE_LENGTH = 0
79ifneq ($(CONFIG_ECAM_MMCONF_LENGTH),)
80BUILD_STR += --pcd gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize=$(CONFIG_ECAM_MMCONF_LENGTH)
81endif
Sean Rhodes3f3a3ee2022-02-10 09:21:50 +000082# PRIORITIZE_INTERNAL = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +010083ifeq ($(CONFIG_EDK2_PRIORITIZE_INTERNAL),y)
Sean Rhodes3f3a3ee2022-02-10 09:21:50 +000084BUILD_STR += -D PRIORITIZE_INTERNAL=TRUE
85endif
Sean Rhodes4600c252022-02-09 08:31:24 +000086# PS2_KEYBOARD_ENABLE = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +010087ifeq ($(CONFIG_EDK2_PS2_SUPPORT),y)
Sean Rhodes4600c252022-02-09 08:31:24 +000088BUILD_STR += -D PS2_KEYBOARD_ENABLE=TRUE
89endif
Sean Rhodes0884f2102022-02-04 07:41:16 +000090# PLATFORM_BOOT_TIMEOUT = 3
Sean Rhodes38c99b52022-07-13 10:11:44 +010091ifneq ($(CONFIG_EDK2_BOOT_TIMEOUT),)
92BUILD_STR += -D PLATFORM_BOOT_TIMEOUT=$(CONFIG_EDK2_BOOT_TIMEOUT)
Sean Rhodes4600c252022-02-09 08:31:24 +000093endif
94# SIO_BUS_ENABLE = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +010095ifeq ($(CONFIG_EDK2_PS2_SUPPORT),y)
Sean Rhodes4600c252022-02-09 08:31:24 +000096BUILD_STR += -D SIO_BUS_ENABLE=TRUE
97endif
Sean Rhodesf33ddb32022-02-09 08:30:07 +000098# SHELL_TYPE = BUILD_SHELL
Sean Rhodes38c99b52022-07-13 10:11:44 +010099ifneq ($(CONFIG_EDK2_HAVE_EFI_SHELL),y)
Sean Rhodesf33ddb32022-02-09 08:30:07 +0000100BUILD_STR += -D SHELL_TYPE=NONE
Sean Rhodes0884f2102022-02-04 07:41:16 +0000101endif
102# USE_CBMEM_FOR_CONSOLE = FALSE
Sean Rhodes38c99b52022-07-13 10:11:44 +0100103ifeq ($(CONFIG_EDK2_CBMEM_LOGGING),y)
Sean Rhodes0884f2102022-02-04 07:41:16 +0000104BUILD_STR += -D USE_CBMEM_FOR_CONSOLE=TRUE
105endif
Sean Rhodes4a9be9f2022-02-13 21:19:19 +0000106# SD_MMC_TIMEOUT = 1000000
Sean Rhodes38c99b52022-07-13 10:11:44 +0100107ifneq ($(CONFIG_EDK2_SD_MMC_TIMEOUT),)
108BUILD_STR += -D SD_MMC_TIMEOUT=$(shell echo $$(( $(CONFIG_EDK2_SD_MMC_TIMEOUT) * 1000)) )
Sean Rhodes4a9be9f2022-02-13 21:19:19 +0000109endif
Matt DeVilliera38e2482023-04-30 15:10:57 -0500110# EDK2_SECURE_BOOT_SUPPORT = FALSE
111ifeq ($(CONFIG_EDK2_SECURE_BOOT_SUPPORT), y)
112BUILD_STR += -D SECURE_BOOT_ENABLE=TRUE
113endif
Sean Rhodes02f2b192022-07-08 16:29:54 +0100114
Sean Rhodes0884f2102022-02-04 07:41:16 +0000115#
Angel Pons71270132022-07-26 11:31:39 +0200116# EDKII has the below PCDs that are relevant to coreboot:
Sean Rhodes67902492022-07-12 08:24:18 +0100117#
118# Allows EDKII to use the full framebuffer
Sean Rhodes38c99b52022-07-13 10:11:44 +0100119ifeq ($(CONFIG_EDK2_FULL_SCREEN_SETUP),y)
Sean Rhodes67902492022-07-12 08:24:18 +0100120BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow=0
121BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn=0
122BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow=0
123BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn=0
Sean Rhodesc14bbbc2022-07-26 16:50:00 +0100124endif
Matt DeVillier67258982021-10-28 16:46:17 -0500125
Sean Rhodes0884f2102022-02-04 07:41:16 +0000126bootloader = $(word 8,$(subst /, ,$(BUILD_STR)))
Martin Roth4769cc32016-06-02 16:42:29 -0600127
Sean Rhodes38c99b52022-07-13 10:11:44 +0100128ifneq ($(CONFIG_EDK2_CUSTOM_BUILD_PARAMS),)
129BUILD_STR += $(CONFIG_EDK2_CUSTOM_BUILD_PARAMS)
Michał Żygowskiba08c492022-02-23 16:55:24 +0100130endif
Michał Żygowskiba08c492022-02-23 16:55:24 +0100131
Sean Rhodes306550d2022-08-02 09:12:13 +0100132all: UefiPayloadPkg
Martin Roth4769cc32016-06-02 16:42:29 -0600133
Sean Rhodes403d2202022-08-02 08:54:12 +0100134$(WORKSPACE):
Sean Rhodesbbec7122022-08-02 09:32:17 +0100135 mkdir $(WORKSPACE)
Martin Roth4769cc32016-06-02 16:42:29 -0600136
Michał Żygowski82d814a2022-10-26 11:32:54 +0200137$(EDK2_PLATFORMS_PATH): $(WORKSPACE)
138 if [ ! -d "$(EDK2_PLATFORMS_PATH)" ]; then \
139 git clone --recurse-submodules $(CONFIG_EDK2_PLATFORMS_REPOSITORY) $(EDK2_PLATFORMS_PATH) -j5; \
140 fi
141 cd $(EDK2_PLATFORMS_PATH); \
142 if ! git rev-parse --verify -q $(CONFIG_EDK2_PLATFORMS_TAG_OR_REV) >/dev/null; then \
143 echo " $(CONFIG_EDK2_PLATFORMS_TAG_OR_REV) is not a valid git reference"; \
144 exit 1; \
145 fi; \
146 if git status --ignore-submodules=dirty | grep -q "nothing to commit, working tree clean"; then \
147 echo " Checking out edk2-platforms revision $(CONFIG_EDK2_PLATFORMS_TAG_OR_REV)"; \
148 git checkout --detach $(CONFIG_EDK2_PLATFORMS_TAG_OR_REV) -f; \
149 else \
150 echo " Working directory not clean; will not overwrite"; \
151 fi; \
152 git submodule update --init --checkout
153
Sean Rhodes461d1c82022-08-02 09:41:32 +0100154$(EDK2_PATH): $(WORKSPACE)
Sean Rhodes403d2202022-08-02 08:54:12 +0100155 if [ ! -d "$(EDK2_PATH)" ]; then \
Sean Rhodesf2a9a3f2022-08-02 09:36:40 +0100156 git clone --recurse-submodules $(CONFIG_EDK2_REPOSITORY) $(EDK2_PATH) -j5; \
Sean Rhodes0884f2102022-02-04 07:41:16 +0000157 fi
Sean Rhodes403d2202022-08-02 08:54:12 +0100158 cd $(EDK2_PATH); \
Sean Rhodesb02cc142022-08-02 07:56:54 +0100159 git checkout MdeModulePkg/Logo/Logo.bmp > /dev/null 2>&1 || true; \
Sean Rhodesba672762022-05-18 23:00:57 +0100160 if [ -e UefiPayloadPkg/ShimLayer/UniversalPayload.o ]; then \
161 rm UefiPayloadPkg/ShimLayer/UniversalPayload.o; \
162 fi; \
Sean Rhodes38c99b52022-07-13 10:11:44 +0100163 echo " Fetching new commits from $(CONFIG_EDK2_REPOSITORY)"; \
Sean Rhodes0884f2102022-02-04 07:41:16 +0000164 git fetch origin 2>/dev/null; \
Sean Rhodes38c99b52022-07-13 10:11:44 +0100165 if ! git rev-parse --verify -q $(CONFIG_EDK2_TAG_OR_REV) >/dev/null; then \
166 echo " $(CONFIG_EDK2_TAG_OR_REV) is not a valid git reference"; \
Matt DeVillier38b6ccf2019-02-20 23:46:15 -0600167 exit 1; \
Martin Roth4769cc32016-06-02 16:42:29 -0600168 fi; \
Nicholas Chinc217f312022-05-23 13:12:28 -0600169 if git status --ignore-submodules=dirty | grep -q clean; then \
Sean Rhodes38c99b52022-07-13 10:11:44 +0100170 echo " Checking out $(project_name) revision $(CONFIG_EDK2_TAG_OR_REV)"; \
171 git checkout --detach $(CONFIG_EDK2_TAG_OR_REV) -f; \
Matt DeVillier38b6ccf2019-02-20 23:46:15 -0600172 else \
173 echo " Working directory not clean; will not overwrite"; \
Matt DeVillierae48b422020-04-21 23:54:42 -0500174 fi; \
Sean Rhodes0884f2102022-02-04 07:41:16 +0000175 git submodule update --init --checkout
Martin Roth4769cc32016-06-02 16:42:29 -0600176
Sean Rhodes461d1c82022-08-02 09:41:32 +0100177logo: $(EDK2_PATH)
Sean Rhodes38c99b52022-07-13 10:11:44 +0100178 case "$(CONFIG_EDK2_BOOTSPLASH_FILE)" in \
Matt DeVillier845222f2022-07-25 23:18:47 -0500179 "") ;; \
Sean Rhodes38c99b52022-07-13 10:11:44 +0100180 /*) convert -background None $(CONFIG_EDK2_BOOTSPLASH_FILE) \
Sean Rhodes403d2202022-08-02 08:54:12 +0100181 BMP3:$(EDK2_PATH)/MdeModulePkg/Logo/Logo.bmp;; \
Sean Rhodes38c99b52022-07-13 10:11:44 +0100182 *) convert -background None $(top)/$(CONFIG_EDK2_BOOTSPLASH_FILE) \
Sean Rhodes403d2202022-08-02 08:54:12 +0100183 BMP3:$(EDK2_PATH)/MdeModulePkg/Logo/Logo.bmp;; \
Sean Rhodes108e5372022-07-15 13:58:52 +0100184 esac \
185
Martin Roth4769cc32016-06-02 16:42:29 -0600186checktools:
Sean Rhodes108e5372022-07-15 13:58:52 +0100187 echo -n "EDK2: Checking uuid-dev:"
Martin Roth4769cc32016-06-02 16:42:29 -0600188 echo "#include <uuid/uuid.h>" > libtest.c
189 echo "int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }" >> libtest.c
Sean Rhodes108e5372022-07-15 13:58:52 +0100190 $(HOSTCC) $(HOSTCCFLAGS) libtest.c -o libtest >/dev/null 2>&1 && echo " Found!" || \
191 ( echo " Not found!"; \
192 echo "ERROR: please_install uuid-dev (libuuid-devel)"; exit 1 )
Martin Roth4769cc32016-06-02 16:42:29 -0600193 rm -rf libtest.c libtest
Sean Rhodes108e5372022-07-15 13:58:52 +0100194 echo -n "EDK2: Checking nasm:"
195 type nasm > /dev/null 2>&1 && echo " Found!" || \
196 ( echo " Not found!"; echo "ERROR: Please install nasm."; exit 1 )
197 echo -n "EDK2: Checking imagemagick:"
198 -convert -size 1x1 xc: test.png &> /dev/null;
199 if [ -f test.png ]; then \
200 rm test.png && echo " Found!"; \
201 else \
202 echo " Not found!"; \
203 echo "ERROR: Please install imagemagick"; \
204 exit 1; \
205 fi
Martin Roth4769cc32016-06-02 16:42:29 -0600206
Sean Rhodes175445b2022-08-02 07:53:03 +0100207print:
Sean Rhodes7ea79862022-06-16 21:32:33 +0100208 echo " ##### $(project_name) Build Summary #####"
Sean Rhodes38c99b52022-07-13 10:11:44 +0100209 echo " Repository: $(CONFIG_EDK2_REPOSITORY)"
210 echo " Branch: $(CONFIG_EDK2_TAG_OR_REV)"
Michał Żygowski82d814a2022-10-26 11:32:54 +0200211 echo " Packages path: $(PACKAGES_PATH)"
Sean Rhodes7ea79862022-06-16 21:32:33 +0100212 echo " $(BUILD_STR)" | \
Sean Rhodes175445b2022-08-02 07:53:03 +0100213 sed -e 's/--/-/g' -e 's/-/\n /g' | sort | sed \
Sean Rhodes7ea79862022-06-16 21:32:33 +0100214 -e 's/a /Architecture: /g' \
215 -e 's/b /Release: /g' \
216 -e 's/D /Option: /g' \
Sean Rhodes175445b2022-08-02 07:53:03 +0100217 -e 's/pcd /Pcd: /g' \
Sean Rhodes7ea79862022-06-16 21:32:33 +0100218 -e 's/p /Payload: /g' \
219 -e 's/q /Build: Quiet/' \
Sean Rhodes175445b2022-08-02 07:53:03 +0100220 -e 's/s /Build: Silent/' \
Sean Rhodes7ea79862022-06-16 21:32:33 +0100221 -e 's/t /Toolchain: /'
Sean Rhodes175445b2022-08-02 07:53:03 +0100222
Michał Żygowski82d814a2022-10-26 11:32:54 +0200223prep: $(EDK2_PATH) $(EDK2_PLATFORMS_PATH) clean checktools logo
Sean Rhodes403d2202022-08-02 08:54:12 +0100224 cd $(WORKSPACE); \
Sean Rhodes724c0cd2022-08-02 09:07:15 +0100225 source $(EDK2_PATH)/edksetup.sh; \
226 unset CC; $(MAKE) -C $(EDK2_PATH)/BaseTools 2>&1; \
Sean Rhodes403d2202022-08-02 08:54:12 +0100227 grep -q "COREBOOT" $(EDK2_PATH)/Conf/tools_def.txt; \
Martin Roth4769cc32016-06-02 16:42:29 -0600228 if [ $$? -ne 0 ]; then \
Sean Rhodes403d2202022-08-02 08:54:12 +0100229 cat ../tools_def.txt >> $(EDK2_PATH)/Conf/tools_def.txt; \
Martin Roth4769cc32016-06-02 16:42:29 -0600230 fi; \
Sean Rhodes724c0cd2022-08-02 09:07:15 +0100231
Sean Rhodes306550d2022-08-02 09:12:13 +0100232$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/FV/UEFIPAYLOAD.fd: \
233 prep print
Sean Rhodes724c0cd2022-08-02 09:07:15 +0100234 cd $(WORKSPACE); \
235 source $(EDK2_PATH)/edksetup.sh; \
Sean Rhodes306550d2022-08-02 09:12:13 +0100236 echo -n "EDK2: Building... "; \
Sean Rhodes234c42f2022-08-02 10:00:56 +0100237 build -a IA32 -a X64 -b $(RELEASE_STR) $(BUILD_STR) \
Sean Rhodes306550d2022-08-02 09:12:13 +0100238 -y $(WORKSPACE)/Build/UefiPayloadPkgX64/UEFIPAYLOAD.txt; \
239 if [ ! -f $@ ]; then \
240 echo "Failed!"; \
241 exit 1; \
242 fi
243 echo "Success!"; \
244
Sean Rhodes716bd482022-10-06 21:33:46 +0100245$(WORKSPACE)/Build/UefiPayloadPkgX64/UniversalPayload.elf: \
246 prep print
247 cd $(WORKSPACE); \
248 source $(EDK2_PATH)/edksetup.sh; \
249 echo -n "EDK2: Building... "; \
250 $(EDK2_PATH)/UefiPayloadPkg/UniversalPayloadBuild.sh -a IA32 -a X64 -b $(RELEASE_STR) $(BUILD_STR)
251 if [ ! -f $@ ]; then \
252 echo "Failed!"; \
253 exit 1; \
254 fi
255 echo "Success!"; \
256
Sean Rhodesba672762022-05-18 23:00:57 +0100257$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll: \
258 $(WORKSPACE)/Build/UefiPayloadPkgX64/UniversalPayload.elf prep
259 cd $(WORKSPACE)/Build/UefiPayloadPkgX64 && \
260 $(OBJCOPY) -I binary UniversalPayload.elf -O elf32-i386 -B i386 \
261 $(EDK2_PATH)/UefiPayloadPkg/ShimLayer/UniversalPayload.o; \
262 cd $(WORKSPACE) && \
263 source $(EDK2_PATH)/edksetup.sh; \
264 build -p UefiPayloadPkg/UefiPayloadPkg.dsc -b $(RELEASE_STR) -a IA32 -a X64 \
265 -m UefiPayloadPkg/ShimLayer/ShimLayer.inf \
266 -t COREBOOT -D BOOTLOADER=COREBOOT -D SHIMLAYER=TRUE \
267 -y $(WORKSPACE)/Build/UefiPayloadPkgX64/ShimLayer.txt
268
Sean Rhodes306550d2022-08-02 09:12:13 +0100269UefiPayloadPkg: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/FV/UEFIPAYLOAD.fd
270 mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/FV/UEFIPAYLOAD.fd \
271 ../../../build/UEFIPAYLOAD.fd
Martin Roth4769cc32016-06-02 16:42:29 -0600272
Sean Rhodes27c8bf02022-07-17 19:01:29 +0100273UniversalPayload: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll
274 mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll \
275 ../../../build/ShimmedUniversalPayload.elf
276
Martin Roth4769cc32016-06-02 16:42:29 -0600277clean:
Sean Rhodes403d2202022-08-02 08:54:12 +0100278 test -d $(WORKSPACE) && (cd $(WORKSPACE); rm -rf Build; rm -f Conf/tools_def.txt) || exit 0
Martin Roth4769cc32016-06-02 16:42:29 -0600279
280distclean:
Sean Rhodes403d2202022-08-02 08:54:12 +0100281 rm -rf $(WORKSPACE)
Martin Roth4769cc32016-06-02 16:42:29 -0600282
Sean Rhodes27c8bf02022-07-17 19:01:29 +0100283.PHONY: $(EDK2_PATH) checktools logo UefiPayloadPkg UniversalPayload clean distclean