Message ID | 20190409134536.15548-2-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | roms: Avoid iPXE/EDK2 EFIROM variable clash, pass CFLAGS to EDK2 build tools | expand |
On 04/09/19 15:45, Philippe Mathieu-Daudé wrote: > The iPXE's 'veryclean' recipe removes $(EFIROM) even if the EFIROM > macro originates from elsewhere: > > $ 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' > > Before f590a812c21 this variable could be overridden or unset, > and the 'veryclean' Makefile rule would not complain. > > Commit f590a812c21 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: f590a812c21074e82228de3e1dfb57b75fc02b62 > Reported-by: Olaf Hering <olaf@aepfle.de> > Reviewed-by: Laszlo Ersek <lersek@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <philmd@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: > looks good, thank you; my R-b stands. Laszlo
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: