A small update on 'make --shuffle' mode

Tl;DR

GNU Make --shuffle mode entered upstream git repository \o/.

For testing convenience I also tarballed the development GNU make snapshot from today’s git state: https://slyfox.uni.cx/distfiles/make/make-4.3.90.20220619.tar.lz.

Note that --shuffle is not enabled by default. You can enable it by any of below methods whichever matches best your environment:

minor improvements

Compared to the initial patch announced as a proof of concept there is one extra change: presence of .NOTPARALLEL: directive in a Makefile now disables shuffling in that file.

It was done to accomodate rare projects that rely on execution order specified in Makefile and don’t plan to make dependencies correct in near future. The example is netpbm: https://sourceforge.net/p/netpbm/code/HEAD/tree/trunk/GNUmakefile#l110

failure examples

A few new bugs were found and/or fixed:

Nothing complicated. Just a few missing dependencies.

Give it a try!

Posted on June 21, 2022 by trofi. Email, pull requests or comments are welcome!