On 1/21/19 12:27 PM, Philippe Mathieu-Daudé wrote: > Hi Laszlo, > > On 1/18/19 11:33 PM, Laszlo Ersek wrote: >> Building the EfiRom utility from "roms/edk2/BaseTools" should make >> "roms/Makefile" more self-contained. Otherwise, we'd call the system-wide >> EfiRom for building the combined iPXE option ROMs, but call the sibling >> utilities from "roms/edk2/BaseTools" for building "roms/edk2" content. >> >> Cc: "Michael S. Tsirkin" <m...@redhat.com> >> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> >> Cc: Gerd Hoffmann <kra...@redhat.com> >> Cc: Igor Mammedov <imamm...@redhat.com> >> Cc: Philippe Mathieu-Daudé <phi...@redhat.com> >> Cc: Shannon Zhao <shannon.zha...@gmail.com> >> Signed-off-by: Laszlo Ersek <ler...@redhat.com> >> --- >> roms/Makefile | 13 ++++++------- >> 1 file changed, 6 insertions(+), 7 deletions(-) >> >> diff --git a/roms/Makefile b/roms/Makefile >> index a6043eff37e9..78d5dd18c301 100644 >> --- a/roms/Makefile >> +++ b/roms/Makefile >> @@ -47,10 +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. >> # >> -# We try to find it in the path. You can also pass the location on >> -# the command line, i.e. "make EFIROM=/path/to/EfiRom efirom" >> -# >> -EFIROM ?= $(shell which EfiRom 2>/dev/null) >> +EFIROM = edk2/BaseTools/Source/C/bin/EfiRom >> >> default: >> @echo "nothing is build by default" >> @@ -59,8 +56,7 @@ default: >> @echo " vgabios -- update vgabios binaries (seabios)" >> @echo " sgabios -- update sgabios binaries" >> @echo " pxerom -- update nic roms (bios only)" >> - @echo " efirom -- update nic roms (bios+efi, this needs" >> - @echo " the EfiRom utility from edk2 / tianocore)" >> + @echo " efirom -- update nic roms (bios+efi)" >> @echo " slof -- update slof.bin" >> @echo " skiboot -- update skiboot.lid" >> @echo " u-boot.e500 -- update u-boot.e500" >> @@ -106,7 +102,7 @@ pxe-rom-%: build-pxe-roms >> >> efirom: $(patsubst %,efi-rom-%,$(pxerom_variants)) >> >> -efi-rom-%: build-pxe-roms build-efi-roms >> +efi-rom-%: build-pxe-roms build-efi-roms $(EFIROM) >> $(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 \ >> @@ -124,6 +120,8 @@ build-efi-roms: build-pxe-roms >> $(patsubst %,bin-i386-efi/%.efidrv,$(pxerom_targets)) \ >> $(patsubst %,bin-x86_64-efi/%.efidrv,$(pxerom_targets)) >> >> +$(EFIROM): >> + $(MAKE) -C edk2/BaseTools > > Since this is a single tool/file, can we simply use: > > $(MAKE) -C edk2/BaseTools/Source/C/EfiRom
Also, note that this doesn't work for out-of-tree builds, but this problem is pre-existent to your series. > >> >> slof: >> $(MAKE) -C SLOF CROSS=$(powerpc64_cross_prefix) qemu >> @@ -150,6 +148,7 @@ clean: >> $(MAKE) -C sgabios clean >> rm -f sgabios/.depend >> $(MAKE) -C ipxe/src veryclean >> + $(MAKE) -C edk2/BaseTools clean > > Ditto. > >> $(MAKE) -C SLOF clean >> rm -rf u-boot/build.e500 >> $(MAKE) -C u-boot-sam460ex distclean >> > > Whichever path used: > Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com> >