On 3/9/19 2:53 AM, Philippe Mathieu-Daudé wrote: > On 3/9/19 2:32 AM, Philippe Mathieu-Daudé wrote: >> Hi Laszlo, >> >> On 3/9/19 1:48 AM, Laszlo Ersek wrote: >>> We don't (can't) have a recipe for building just $(EFIROM); therefore, >>> while we call the target $(EFIROM), we actually build all of the edk2 >>> BaseTools. Rename the target to edk2-basetools, and update the iPXE >>> prerequisite accordingly. This will let other targets depend on >>> "edk2-basetools", where an $(EFIROM) pre-requisite would be misleading. >>> >>> Signed-off-by: Laszlo Ersek <ler...@redhat.com> >>> --- >>> roms/Makefile | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/roms/Makefile b/roms/Makefile >>> index 78d5dd18c301..2e83ececa25a 100644 >>> --- a/roms/Makefile >>> +++ b/roms/Makefile >>> @@ -102,7 +102,7 @@ pxe-rom-%: build-pxe-roms >>> >>> efirom: $(patsubst %,efi-rom-%,$(pxerom_variants)) >>> >>> -efi-rom-%: build-pxe-roms build-efi-roms $(EFIROM) >>> +efi-rom-%: build-pxe-roms build-efi-roms edk2-basetools >>> $(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 \ >>> @@ -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-basetools: >> >> Should we add: >> >> $(MAKE) -f Makefile.edk2 submodules >> >> from your next patch? >> >> There might be a circular dependency else, if the user doesn't init the >> submodules manually. >> >> The next patch add a make dependency 'efi' -> 'edk2-basetools', but >> 'edk2-basetools' build the BaseTools within edk2/. >> > > OK I mixed, the Makefile.edk2's submodules rules is for the edk2 > repository submodules, while by 'the user submodules' I mean the QEMU > submodules... > > So the user has to initialize the roms/edk2 submodule previous to run > both efi/edk2-basetools rules of this Makefile.
Maybe we can 'test -e edk2/.git' and display an error "edk2 submodule not initialized.", what do you think? Regardless: Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com> >>> $(MAKE) -C edk2/BaseTools >>> >>> slof: >>>