GNU Make 4.4 Released With Numerous Improvements, Deprecates Amiga OS
In succeeding GNU Make 4.3 that debuted back in January 2020, a lot has accumulated for GNU Make 4.4 in this period. Among the many changes to find with GNU Make 4.4 include:
- GNU Make 4.4 deprecates OS/2 (EMX), AmigaOS, Xenix, and Cray with plans to remove these targets in the next release.
- GNU Make will now use temporary files in more situations.
- The new .WAIT special target for between two prerequisites of a target. GNU Make will wait for all the targets to the left of .WAIT in the list to complete before starting any of the targets to the right of .WAIT. Some alternative versions of make already support .WAIT and will be required in an upcoming POSIX standard for make.
- Improved support for -l / --load-average on Linux systems or others exposing /proc/loadavg. GNU Make will use the exposed load average to determine the number of runnable jobs and avoid the need for heuristics.
- GNU Make 4.4 adds a "--shuffle" option. The shuffle command line option reorders goals and prerequisites to simulate non-determinism that may be seen during parallel builds. The shuffle mode can be used as a form of fuzz testing for GNU Make parallel builds.
- Also new is the --jobserver-style command-line option and named pipes on systems where mkfifo is available.
- Exporting and un-exporting of target-specific variables is now handled correctly.
- A long-standing issue with the directory cache is now fixed.
- Support for building GNU Make on Microsoft Windows with the Tiny C Compiler (TCC).
Downloads and more details on GNU Make 4.4 via gnu.org.