coreboot/payloads/external
Sergii Dmytruk 1ad9c32ae3 payloads/external: don't prevent parallel build of iPXE
When starting a nested instance Make communicates information on the
number of jobs and how to synchronize difference instances via MAKEFLAGS
variable.  Explicitly overwriting it when invoking
payloads/external/iPXE/Makefile ends up forcing serial build of iPXE.
iPXE builds hundreds of files and its dependency generation is done
separately from compilation making the whole process take couple minutes
on a single CPU (which becomes several seconds if large enough number of
CPUs is available).

iPXE seems to have Make-based build system that has no problems with
parallel build and not utilizing that effectively turns it into a
bottleneck when building a coreboot image in parallel.

It's unclear whether MAKEFLAGS= was even added for any particular
purpose.  It doesn't prevent child instances from using variables of
parents, nor it prevents child instance from running in parallel
(because it's still passed as an environment variable that's processed
prior of variable assignments on command-line), but it does prevent
grandchild instance from running in parallel (actual iPXE's Makefile).

MFLAGS contains flags from MAKEFLAGS and isn't used implicitly by Make,
so no need to clear it either because iPXE doesn't use it.

Change-Id: Iac00e2f86d160793d3217e00ddc5012202b3196a
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83081
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: Krystian Hebel <krystian.hebel@3mdeb.com>
2024-07-05 12:55:49 +00:00
..
BOOTBOOT treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
coreDOOM payloads: Add SPDX headers to Kconfig 2024-02-18 01:57:39 +00:00
depthcharge payloads/depthcharge: Add DEPTHCHARGE_REPO and DEPTHCHARGE_BRANCH 2024-03-04 22:47:08 +00:00
edk2 payload/external/edk2: Explicitly define the build arch as X64 2024-05-15 16:49:26 +00:00
FILO payloads: Add SPDX headers to Kconfig 2024-02-18 01:57:39 +00:00
GRUB2 payloads: Add SPDX headers to Kconfig 2024-02-18 01:57:39 +00:00
iPXE payloads/iPXE: Hook up TRUST_CMD switch 2024-05-29 19:22:57 +00:00
leanefi payloads/external/leanefi: Add missing license 2024-06-05 19:56:23 +00:00
linux payloads: Add SPDX headers to Kconfig 2024-02-18 01:57:39 +00:00
LinuxBoot LinuxBoot/Makefile: initramfs not build for bzImage 2024-05-11 18:28:30 +00:00
Memtest86Plus payloads: Add SPDX headers to Kconfig 2024-02-18 01:57:39 +00:00
SeaBIOS payloads: Add SPDX headers to Kconfig 2024-02-18 01:57:39 +00:00
skiboot payloads/external/skiboot/Makefile: fix output on make clean 2022-09-28 17:35:37 +00:00
tint tint: upgrade the tint payload to 0.07 version 2023-08-08 16:03:38 +00:00
U-Boot payloads/U-Boot: Upgrade from U-Boot v2023.07 to v2024.4 2024-05-04 21:03:55 +00:00
.gitignore payloads/edk2: Move building to directory called workspace 2022-08-24 21:27:24 +00:00
Makefile.mk payloads/external: don't prevent parallel build of iPXE 2024-07-05 12:55:49 +00:00