On 04/05/19 17:33, Philippe Mathieu-Daudé wrote: > The iPXE project already uses the EFIROM for a tool named 'efirom' > which is not the Intel EfiRom used by the EDK2 project. To make > the difference obvious, rename the variable. > > This fixes a long standing issue which is now masked since commit > f590a812c21 "roms: build the EfiRom utility from the roms/edk2 > submodule" (but would reappear in the next commit):
[*] > > $ git checkout f590a812c21~ > $ 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' > > Reported-by: Olaf Hering <o...@aepfle.de> > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > roms/Makefile | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/roms/Makefile b/roms/Makefile > index 78d5dd18c30..d28252dafdf 100644 > --- a/roms/Makefile > +++ b/roms/Makefile > @@ -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: > Upon reading your and Olaf's comments in the v1 thread: [PATCH for-4.0] roms: Allow the EFIROM variable to be overridden I've changed my mind on this series. Please insert a paragraph at [*] in the commit message: "iPXE's 'veryclean' recipe removes $(EFIROM) even if the EFIROM macro originates from elsewhere." With that: Reviewed-by: Laszlo Ersek <ler...@redhat.com> (I'll comment under patch#2 separately.) Thank you for picking this up. Laszlo