Daniel P. Berrangé <berra...@redhat.com> writes: > On Sat, Jul 06, 2019 at 09:35:30PM +0100, Peter Maydell wrote: >> On Sat, 6 Jul 2019 at 11:28, Mark Cave-Ayland >> <mark.cave-ayl...@ilande.co.uk> wrote: >> > >> > On 06/07/2019 11:16, Peter Maydell wrote: >> > > If you just do 'make' rather than 'make install' does it fail the same >> > > way? >> > >> > Interesting. A quick test shows that "make V=1 -j2" works fine, it's just >> > "make V=1 >> > -j2 install" which is failing. >> >> Mmm. I suspect most people just do the plain make (with the make install >> phase either never or as a second command afterwards), so missing-dependency >> bugs between the install targets and the build targets are probably more >> likely to lurk around. We should stil fix them, though, assuming we >> can track them down... > > The main 'install' target depends on 'all': > > install: all $(if $(BUILD_DOCS),install-doc) install-datadir > install-localstatedir \ $(if $(INSTALL_BLOBS),$(edk2-decompressed)) \ recurse-install > > > but I think still allows 'install-doc', 'install-datadir' and > 'install-localstatedir' to parallelize wrt 'all'. I guess the fix is to > make each of those 'install-xxx' targets depend on 'all' instead.
Additionally, recurse-install can run in parallel with all, which is wrong. I just posted "[PATCH for-4.1] Makefile: Fix "make install" when "make all" needs work" for that.