On 9/13/19 1:12 AM, Michael Roth wrote: > Currently the `make efi` target pulls submodules nested under the > roms/edk2 submodule as dependencies. However, when we attempt to build > from a tarball this fails since we are no longer in a git tree. > > A preceding patch will pre-populate these submodules in the tarball, > so assume this build dependency is only needed when building from a > git tree. > > Reported-by: Bruce Rogers <[email protected]> > Cc: Laszlo Ersek <[email protected]> > Cc: Bruce Rogers <[email protected]> > Cc: [email protected] # v4.1.0 > Signed-off-by: Michael Roth <[email protected]> > --- > roms/Makefile.edk2 | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/roms/Makefile.edk2 b/roms/Makefile.edk2 > index c2f2ff59d5..33a074d3a4 100644 > --- a/roms/Makefile.edk2 > +++ b/roms/Makefile.edk2 > @@ -46,8 +46,13 @@ all: $(foreach > flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd.bz2) \ > # files. > .INTERMEDIATE: $(foreach > flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd) > > +# Fetch edk2 submodule's submodules. If it is not in a git tree, assume > +# we're building from a tarball and that they've already been fetched by > +# make-release/tarball scripts.
Annoying, without using the make-release tool in a fresh clone, I get qemu/roms/edk2/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf(-1): error 000E: File/directory not found in workspace I vaguely remember there was a thread about not using 'git submodule update --init --recursive' in the root directory but can't find it, any idea? > submodules: > - cd edk2 && git submodule update --init --force > + if test -d edk2/.git; then \ > + cd edk2 && git submodule update --init --force; \ > + fi > > # See notes on the ".NOTPARALLEL" target and the "+" indicator in > # "tests/uefi-test-tools/Makefile". >
