uefi-test-tools: Add support for python based build script
edk2-funcs.sh which is used in this Makefile, was removed in the commit c28a2891f3 ("edk2: update build script"). It is replaced with a python based script. So, update the Makefile and add the configuration file as required to support the python based build script. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20240625150839.1358279-4-sunilvl@ventanamicro.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
b05ff4086f
commit
ad8560fa29
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
edk2_dir := ../../roms/edk2
|
edk2_dir := ../../roms/edk2
|
||||||
images_dir := ../data/uefi-boot-images
|
images_dir := ../data/uefi-boot-images
|
||||||
emulation_targets := arm aarch64 i386 x86_64
|
emulation_targets := arm aarch64 i386 x86_64 riscv64
|
||||||
uefi_binaries := bios-tables-test
|
uefi_binaries := bios-tables-test
|
||||||
intermediate_suffixes := .efi .fat .iso.raw
|
intermediate_suffixes := .efi .fat .iso.raw
|
||||||
|
|
||||||
@ -56,7 +56,8 @@ Build/%.iso.raw: Build/%.fat
|
|||||||
# stripped from, the argument.
|
# stripped from, the argument.
|
||||||
map_arm_to_uefi = $(subst arm,ARM,$(1))
|
map_arm_to_uefi = $(subst arm,ARM,$(1))
|
||||||
map_aarch64_to_uefi = $(subst aarch64,AA64,$(call map_arm_to_uefi,$(1)))
|
map_aarch64_to_uefi = $(subst aarch64,AA64,$(call map_arm_to_uefi,$(1)))
|
||||||
map_i386_to_uefi = $(subst i386,IA32,$(call map_aarch64_to_uefi,$(1)))
|
map_riscv64_to_uefi = $(subst riscv64,RISCV64,$(call map_aarch64_to_uefi,$(1)))
|
||||||
|
map_i386_to_uefi = $(subst i386,IA32,$(call map_riscv64_to_uefi,$(1)))
|
||||||
map_x86_64_to_uefi = $(subst x86_64,X64,$(call map_i386_to_uefi,$(1)))
|
map_x86_64_to_uefi = $(subst x86_64,X64,$(call map_i386_to_uefi,$(1)))
|
||||||
map_to_uefi = $(subst .,,$(call map_x86_64_to_uefi,$(1)))
|
map_to_uefi = $(subst .,,$(call map_x86_64_to_uefi,$(1)))
|
||||||
|
|
||||||
@ -70,7 +71,7 @@ Build/%.fat: Build/%.efi
|
|||||||
uefi_bin_b=$$(stat --format=%s -- $<) && \
|
uefi_bin_b=$$(stat --format=%s -- $<) && \
|
||||||
uefi_fat_kb=$$(( (uefi_bin_b * 11 / 10 + 1023) / 1024 )) && \
|
uefi_fat_kb=$$(( (uefi_bin_b * 11 / 10 + 1023) / 1024 )) && \
|
||||||
uefi_fat_kb=$$(( uefi_fat_kb >= 64 ? uefi_fat_kb : 64 )) && \
|
uefi_fat_kb=$$(( uefi_fat_kb >= 64 ? uefi_fat_kb : 64 )) && \
|
||||||
mkdosfs -C $@ -n $(basename $(@F)) -- $$uefi_fat_kb
|
mkdosfs -C $@ -n "bios-test" -- $$uefi_fat_kb
|
||||||
MTOOLS_SKIP_CHECK=1 mmd -i $@ ::EFI
|
MTOOLS_SKIP_CHECK=1 mmd -i $@ ::EFI
|
||||||
MTOOLS_SKIP_CHECK=1 mmd -i $@ ::EFI/BOOT
|
MTOOLS_SKIP_CHECK=1 mmd -i $@ ::EFI/BOOT
|
||||||
MTOOLS_SKIP_CHECK=1 mcopy -i $@ -- $< \
|
MTOOLS_SKIP_CHECK=1 mcopy -i $@ -- $< \
|
||||||
@ -95,15 +96,9 @@ Build/%.fat: Build/%.efi
|
|||||||
# we must mark the recipe manually as recursive, by using the "+" indicator.
|
# we must mark the recipe manually as recursive, by using the "+" indicator.
|
||||||
# This way, when the inner "make" starts a parallel build of the target edk2
|
# This way, when the inner "make" starts a parallel build of the target edk2
|
||||||
# module, it can communicate with the outer "make"'s job server.
|
# module, it can communicate with the outer "make"'s job server.
|
||||||
Build/bios-tables-test.%.efi: build-edk2-tools
|
Build/bios-tables-test.%.efi:
|
||||||
+./build.sh $(edk2_dir) BiosTablesTest $* $@
|
$(PYTHON) ../../roms/edk2-build.py --config uefi-test-build.config \
|
||||||
|
--match $*
|
||||||
build-edk2-tools:
|
|
||||||
cd $(edk2_dir)/BaseTools && git submodule update --init --force
|
|
||||||
$(MAKE) -C $(edk2_dir)/BaseTools \
|
|
||||||
PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \
|
|
||||||
EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \
|
|
||||||
EXTRA_LDFLAGS='$(EDK2_BASETOOLS_LDFLAGS)'
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf Build Conf log
|
rm -rf Build Conf log
|
||||||
|
52
tests/uefi-test-tools/uefi-test-build.config
Normal file
52
tests/uefi-test-tools/uefi-test-build.config
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
[global]
|
||||||
|
core = ../../roms/edk2
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
# arm
|
||||||
|
|
||||||
|
[build.arm]
|
||||||
|
conf = UefiTestToolsPkg/UefiTestToolsPkg.dsc
|
||||||
|
plat = UefiTestTools
|
||||||
|
dest = ./Build
|
||||||
|
arch = ARM
|
||||||
|
cpy1 = ARM/BiosTablesTest.efi bios-tables-test.arm.efi
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
# aarch64
|
||||||
|
|
||||||
|
[build.aarch64]
|
||||||
|
conf = UefiTestToolsPkg/UefiTestToolsPkg.dsc
|
||||||
|
plat = UefiTestTools
|
||||||
|
dest = ./Build
|
||||||
|
arch = AARCH64
|
||||||
|
cpy1 = AARCH64/BiosTablesTest.efi bios-tables-test.aarch64.efi
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
# riscv64
|
||||||
|
|
||||||
|
[build.riscv]
|
||||||
|
conf = UefiTestToolsPkg/UefiTestToolsPkg.dsc
|
||||||
|
plat = UefiTestTools
|
||||||
|
dest = ./Build
|
||||||
|
arch = RISCV64
|
||||||
|
cpy1 = RISCV64/BiosTablesTest.efi bios-tables-test.riscv64.efi
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
# ia32
|
||||||
|
|
||||||
|
[build.ia32]
|
||||||
|
conf = UefiTestToolsPkg/UefiTestToolsPkg.dsc
|
||||||
|
plat = UefiTestTools
|
||||||
|
dest = ./Build
|
||||||
|
arch = IA32
|
||||||
|
cpy1 = IA32/BiosTablesTest.efi bios-tables-test.i386.efi
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
# x64
|
||||||
|
|
||||||
|
[build.x64]
|
||||||
|
conf = UefiTestToolsPkg/UefiTestToolsPkg.dsc
|
||||||
|
plat = UefiTestTools
|
||||||
|
dest = ./Build
|
||||||
|
arch = X64
|
||||||
|
cpy1 = X64/BiosTablesTest.efi bios-tables-test.x86_64.efi
|
Loading…
x
Reference in New Issue
Block a user