[Buildroot] [PATCH v2 1/1] package/Makefile.in: set --shuffle=none for MAKE1

James Hilliard james.hilliard1 at gmail.com
Sun Oct 16 19:30:14 UTC 2022


Make 4.4 introduces a shuffle mode which randomizes prerequisites
in order to better flush out issues with parallel builds, as this
mode randomizes prerequisites even when using -j1 builds we must
also explicitely mark parallel incompatible builds by setting
--shuffle=none which disables goals prerequisites randomization
for the parallel incompatible package when running in shuffle mode.

Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
---
Changes v1 -> v2:
  - use --shuffle=none to disable shuffle for MAKE1
---
 package/Makefile.in | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/package/Makefile.in b/package/Makefile.in
index 43d214bcbe..c69c201c46 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -17,7 +17,9 @@ else
 PARALLEL_JOBS := $(BR2_JLEVEL)
 endif
 
-MAKE1 := $(HOSTMAKE) -j1
+# Only build one job at a time, *and* to not randomise goals and
+# prerequisites ordering in make 4.4+
+MAKE1 := $(HOSTMAKE) -j1 $(if $(findstring --shuffle,$(MAKEFLAGS)),--shuffle=none)
 override MAKE = $(HOSTMAKE) \
 	$(if $(findstring j,$(filter-out --%,$(MAKEFLAGS))),,-j$(PARALLEL_JOBS))
 
-- 
2.34.1




More information about the buildroot mailing list