]> git.proxmox.com Git - mirror_qemu.git/blobdiff - roms/Makefile.edk2
roms/opensbi: Upgrade from v1.1 to v1.2
[mirror_qemu.git] / roms / Makefile.edk2
index 071d6e454b682988a3b975aaced447850c57d0f5..485f2244b15977e204bf648f4c5598b6c83fb402 100644 (file)
 
 SHELL = /bin/bash
 
+target = RELEASE
 toolchain = $(shell source ./edk2-funcs.sh && qemu_edk2_get_toolchain $(1))
 
 licenses := \
        edk2/License.txt \
+       edk2/License-History.txt \
        edk2/OvmfPkg/License.txt \
+       edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3/COPYING.txt \
        edk2/CryptoPkg/Library/OpensslLib/openssl/LICENSE
 
 # The "edk2-arm-vars.fd" varstore template is suitable for aarch64 as well.
@@ -30,6 +33,7 @@ flashdevs := \
        i386-secure-code \
        x86_64-code \
        x86_64-secure-code \
+       x86_64-microvm \
        \
        arm-vars \
        i386-vars
@@ -44,8 +48,18 @@ all: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd.bz2) \
 # files.
 .INTERMEDIATE: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd)
 
+# Fetch edk2 submodule's submodules. If it is not in a git tree, assume
+# we're building from a tarball and that they've already been fetched by
+# make-release/tarball scripts.
 submodules:
-       cd edk2 && git submodule update --init --force
+       if test -e edk2/.git; then \
+               cd edk2 && git submodule update --init --force -- \
+                       ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 \
+                       BaseTools/Source/C/BrotliCompress/brotli \
+                       CryptoPkg/Library/OpensslLib/openssl \
+                       MdeModulePkg/Library/BrotliCustomDecompressLib/brotli \
+               ; \
+       fi
 
 # See notes on the ".NOTPARALLEL" target and the "+" indicator in
 # "tests/uefi-test-tools/Makefile".
@@ -58,8 +72,10 @@ submodules:
                --platform=ArmVirtPkg/ArmVirtQemu.dsc \
                -D NETWORK_IP6_ENABLE \
                -D NETWORK_HTTP_BOOT_ENABLE \
-               -D HTTP_BOOT_ENABLE
-       cp edk2/Build/ArmVirtQemu-AARCH64/DEBUG_$(call toolchain,aarch64)/FV/QEMU_EFI.fd \
+               -D NETWORK_TLS_ENABLE \
+               -D TPM2_ENABLE \
+               -D TPM2_CONFIG_ENABLE
+       cp edk2/Build/ArmVirtQemu-AARCH64/$(target)_$(call toolchain,aarch64)/FV/QEMU_EFI.fd \
                $@
        truncate --size=64M $@
 
@@ -70,8 +86,10 @@ submodules:
                --platform=ArmVirtPkg/ArmVirtQemu.dsc \
                -D NETWORK_IP6_ENABLE \
                -D NETWORK_HTTP_BOOT_ENABLE \
-               -D HTTP_BOOT_ENABLE
-       cp edk2/Build/ArmVirtQemu-ARM/DEBUG_$(call toolchain,arm)/FV/QEMU_EFI.fd \
+               -D NETWORK_TLS_ENABLE \
+               -D TPM2_ENABLE \
+               -D TPM2_CONFIG_ENABLE
+       cp edk2/Build/ArmVirtQemu-ARM/$(target)_$(call toolchain,arm)/FV/QEMU_EFI.fd \
                $@
        truncate --size=64M $@
 
@@ -82,12 +100,10 @@ submodules:
                --platform=OvmfPkg/OvmfPkgIa32.dsc \
                -D NETWORK_IP6_ENABLE \
                -D NETWORK_HTTP_BOOT_ENABLE \
-               -D HTTP_BOOT_ENABLE \
                -D NETWORK_TLS_ENABLE \
-               -D TLS_ENABLE \
-               -D TPM2_ENABLE \
-               -D TPM2_CONFIG_ENABLE
-       cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@
+               -D TPM_ENABLE \
+               -D TPM_CONFIG_ENABLE
+       cp edk2/Build/OvmfIa32/$(target)_$(call toolchain,i386)/FV/OVMF_CODE.fd $@
 
 ../pc-bios/edk2-i386-secure-code.fd: submodules
        +./edk2-build.sh \
@@ -96,14 +112,12 @@ submodules:
                --platform=OvmfPkg/OvmfPkgIa32.dsc \
                -D NETWORK_IP6_ENABLE \
                -D NETWORK_HTTP_BOOT_ENABLE \
-               -D HTTP_BOOT_ENABLE \
                -D NETWORK_TLS_ENABLE \
-               -D TLS_ENABLE \
-               -D TPM2_ENABLE \
-               -D TPM2_CONFIG_ENABLE \
+               -D TPM_ENABLE \
+               -D TPM_CONFIG_ENABLE \
                -D SECURE_BOOT_ENABLE \
                -D SMM_REQUIRE
-       cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@
+       cp edk2/Build/OvmfIa32/$(target)_$(call toolchain,i386)/FV/OVMF_CODE.fd $@
 
 ../pc-bios/edk2-x86_64-code.fd: submodules
        +./edk2-build.sh \
@@ -112,12 +126,10 @@ submodules:
                --platform=OvmfPkg/OvmfPkgX64.dsc \
                -D NETWORK_IP6_ENABLE \
                -D NETWORK_HTTP_BOOT_ENABLE \
-               -D HTTP_BOOT_ENABLE \
                -D NETWORK_TLS_ENABLE \
-               -D TLS_ENABLE \
-               -D TPM2_ENABLE \
-               -D TPM2_CONFIG_ENABLE
-       cp edk2/Build/OvmfX64/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@
+               -D TPM_ENABLE \
+               -D TPM_CONFIG_ENABLE
+       cp edk2/Build/OvmfX64/$(target)_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@
 
 ../pc-bios/edk2-x86_64-secure-code.fd: submodules
        +./edk2-build.sh \
@@ -127,22 +139,30 @@ submodules:
                --platform=OvmfPkg/OvmfPkgIa32X64.dsc \
                -D NETWORK_IP6_ENABLE \
                -D NETWORK_HTTP_BOOT_ENABLE \
-               -D HTTP_BOOT_ENABLE \
                -D NETWORK_TLS_ENABLE \
-               -D TLS_ENABLE \
-               -D TPM2_ENABLE \
-               -D TPM2_CONFIG_ENABLE \
+               -D TPM_ENABLE \
+               -D TPM_CONFIG_ENABLE \
                -D SECURE_BOOT_ENABLE \
                -D SMM_REQUIRE
-       cp edk2/Build/Ovmf3264/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@
+       cp edk2/Build/Ovmf3264/$(target)_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@
+
+../pc-bios/edk2-x86_64-microvm.fd: submodules
+       +./edk2-build.sh \
+               x86_64 \
+               --arch=X64 \
+               --platform=OvmfPkg/Microvm/MicrovmX64.dsc \
+               -D NETWORK_IP6_ENABLE \
+               -D NETWORK_HTTP_BOOT_ENABLE \
+               -D NETWORK_TLS_ENABLE
+       cp edk2/Build/MicrovmX64/$(target)_$(call toolchain,x86_64)/FV/MICROVM.fd $@
 
 ../pc-bios/edk2-arm-vars.fd: ../pc-bios/edk2-arm-code.fd
-       cp edk2/Build/ArmVirtQemu-ARM/DEBUG_$(call toolchain,arm)/FV/QEMU_VARS.fd \
+       cp edk2/Build/ArmVirtQemu-ARM/$(target)_$(call toolchain,arm)/FV/QEMU_VARS.fd \
                $@
        truncate --size=64M $@
 
 ../pc-bios/edk2-i386-vars.fd: ../pc-bios/edk2-i386-code.fd
-       cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_VARS.fd $@
+       cp edk2/Build/OvmfIa32/$(target)_$(call toolchain,i386)/FV/OVMF_VARS.fd $@
 
 # The license file accumulates several individual licenses from under edk2,
 # prefixing each individual license with a header (generated by "tail") that