If I build mingw64 with parallel make, it fails:
NOTE: make -j32 -l75 --shuffle
echo "static int __attribute__((unused)) __mingw_libm_dummy;" > _libm_dummy.c
make all-recursive
make[1]: Entering directory '/work/ross/build/tmp/work/x86_64-nativesdk-mingw32-w64-mingw32/nativesdk-mingw-w64-runtime/14.0.0/build'
Making all in .
make[2]: Entering directory '/work/ross/build/tmp/work/x86_64-nativesdk-mingw32-w64-mingw32/nativesdk-mingw-w64-runtime/14.0.0/build'
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libd3dcompiler_37.a --temp-prefix lib64/libd3dcompiler_37 --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib64/d3dcompiler_37.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libicwdial.a --temp-prefix lib64/libicwdial --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib64/icwdial.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libwiarpc.a --temp-prefix lib64/libwiarpc --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib64/wiarpc.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libdbnmpntw.a --temp-prefix lib64/libdbnmpntw --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib-common/dbnmpntw.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libpstorec.a --temp-prefix lib64/libpstorec --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib-common/pstorec.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libevntagnt.a --temp-prefix lib64/libevntagnt --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib64/evntagnt.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libinfosoft.a --temp-prefix lib64/libinfosoft --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib64/infosoft.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/libncxpnt.a --temp-prefix lib64/libncxpnt --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib64/ncxpnt.def
x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --as=x86_64-w64-mingw32-as --output-lib lib64/librasman.a --temp-prefix lib64/librasman --input-def ../sources/mingw-w64-v14.0.0/mingw-w64-crt/lib64/rasman.def
x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/libd3dcompiler_37.a: No such file or directory
x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/libicwdial.a: No such file or directory
make[2]: *** [Makefile:109463: lib64/libd3dcompiler_37.a] Error 1 shuffle=985211218
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:109463: lib64/libicwdial.a] Error 1 shuffle=985211218
x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/libwiarpc.a: No such file or directory
make[2]: *** [Makefile:109463: lib64/libwiarpc.a] Error 1 shuffle=985211218
x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/libinfosoft.a: No such file or directory
x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/libdbnmpntw.a: No such file or directory
x86_64-w64-mingw32-dlltool: x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/libncxpnt.a: No such file or directory
Can't create .lib file: lib64/libevntagnt.a: No such file or directory
make[2]: *** [Makefile:109463: lib64/libinfosoft.a] Error 1 shuffle=985211218
make[2]: *** [Makefile:109463: lib64/libevntagnt.a] Error 1 shuffle=985211218
make[2]: *** [Makefile:109466: lib64/libdbnmpntw.a] Error 1 shuffle=985211218
make[2]: *** [Makefile:109463: lib64/libncxpnt.a] Error 1 shuffle=985211218
x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/libpstorec.a: No such file or directory
make[2]: *** [Makefile:109466: lib64/libpstorec.a] Error 1 shuffle=985211218
x86_64-w64-mingw32-dlltool: Can't create .lib file: lib64/librasman.a: No such file or directory
make[2]: *** [Makefile:109463: lib64/librasman.a] Error 1 shuffle=985211218
make[2]: Leaving directory '/work/ross/build/tmp/work/x86_64-nativesdk-mingw32-w64-mingw32/nativesdk-mingw-w64-runtime/14.0.0/build'
make[1]: *** [Makefile:99317: all-recursive] Error 1 shuffle=985211218
make[1]: Leaving directory '/work/ross/build/tmp/work/x86_64-nativesdk-mingw32-w64-mingw32/nativesdk-mingw-w64-runtime/14.0.0/build'
make: *** [Makefile:16952: all] Error 2 shuffle=985211218
ERROR: oe_runmake failed
By using a modern GNU make and passing --shuffle you can get make to randomly shuffle lists, which is great at exposing missing dependencies where it mostly worked via luck and timing.