Commit d912e795 authored by Philippe Mathieu-Daudé's avatar Philippe Mathieu-Daudé Committed by Paolo Bonzini
Browse files

roms: Rename the EFIROM variable to avoid clashing with iPXE



The iPXE's 'veryclean' recipe removes $(EFIROM) even if the EFIROM
macro originates from elsewhere:

  $ git checkout f590a812~
  $ make -C roms clean EFIROM=$(type -P EfiRom)
  make: Entering directory '/source/qemu/roms'
  [...]
  make -C ipxe/src veryclean
  make[1]: Entering directory '/source/qemu/roms/ipxe/src'
  rm -f bin{,-*}/*.* bin{,-*}/.certificate.* bin{,-*}/.certificates.* bin{,-*}/.private_key.* bin{,-*}/errors bin{,-*}/NIC ./util/zbin ./util/elf2efi32 ./util/elf2efi64 /usr/bin/EfiRom ./util/efifatbin ./util/iccfix ./util/einfo TAGS bin{,-*}/symtab
  rm: cannot remove '/usr/bin/EfiRom': Permission denied
  make[1]: *** [Makefile.housekeeping:1564: clean] Error 1
  make[1]: Leaving directory '/source/qemu/roms/ipxe/src'
  make: *** [Makefile:152: clean] Error 2
  make: Leaving directory '/source/qemu/roms'

Before f590a812 this variable could be overridden or unset,
and the 'veryclean' Makefile rule would not complain.

Commit f590a812 enforces this variable to the Intel EfiRom
tool provided by the EDK2 project.

To avoid the name clash and make the difference between the
projects obvious, rename the variable used by the EDK2 project
as EDK2_EFIROM.

Fixes: f590a812
Reported-by: default avatarOlaf Hering <olaf@aepfle.de>
Reviewed-by: default avatarLaszlo Ersek <lersek@redhat.com>
Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190409134536.15548-2-philmd@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 248987f9
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org"
# We need that to combine multiple images (legacy bios,
# efi ia32, efi x64) into a single rom binary.
#
EFIROM = edk2/BaseTools/Source/C/bin/EfiRom
EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom

default:
	@echo "nothing is build by default"
@@ -102,8 +102,8 @@ pxe-rom-%: build-pxe-roms

efirom: $(patsubst %,efi-rom-%,$(pxerom_variants))

efi-rom-%: build-pxe-roms build-efi-roms $(EFIROM)
	$(EFIROM) -f "0x$(VID)" -i "0x$(DID)" -l 0x02 \
efi-rom-%: build-pxe-roms build-efi-roms $(EDK2_EFIROM)
	$(EDK2_EFIROM) -f "0x$(VID)" -i "0x$(DID)" -l 0x02 \
		-b ipxe/src/bin/$(VID)$(DID).rom \
		-ec ipxe/src/bin-i386-efi/$(VID)$(DID).efidrv \
		-ec ipxe/src/bin-x86_64-efi/$(VID)$(DID).efidrv \
@@ -120,7 +120,7 @@ build-efi-roms: build-pxe-roms
		$(patsubst %,bin-i386-efi/%.efidrv,$(pxerom_targets)) \
		$(patsubst %,bin-x86_64-efi/%.efidrv,$(pxerom_targets))

$(EFIROM):
$(EDK2_EFIROM):
	$(MAKE) -C edk2/BaseTools

slof: