GNU Automake 1.20 Adopts GPLv3, Adds Build System Improvements
The GNU build tool project released version 1.20 with a licensing shift to GPLv3, jobserver support, and nine bug fixes in a rapid two-month development cycle.

GNU Automake 1.20 became available as a stable minor release on Saturday, with announcements distributed across the autotools-announce@gnu.org, automake@gnu.org, and info-gnu@gnu.org mailing lists. The turnaround proved swift for the initiative: version 1.19 had shipped merely two months earlier on September 10, following an earlier release in June 2025 by approximately 63 weeks.
Kamila Szewczyk, the project's most active co-maintainer in recent times, authored the release announcement and contributed 99 of the 104 commits in this version. Automake serves as a GNU development utility that generates build-file templates, freeing developers from the burden of manually writing and maintaining makefiles. The tool integrates with Autoconf as a component of the broader GNU Autotools build system.
Changes and New Features
A notable shift in this release concerns the software's licensing terms rather than its functionality. The license has transitioned from GPL v2 or later to a new framework:
Automake is now licensed under the GNU General Public License version 3 or later (GPLv3+), matching Autoconf and following the Free Software Foundation's recommendation to use GPLv3 or later.
The FSF's guidance on this matter originated 19 years prior, accompanying the 2007 introduction of GPL v3. Richard Stallman, FSF and GNU founder, stated at that time: "Now free programs must adopt it so as to offer their users its stronger protection for their freedom."
Beyond the licensing change, this stable minor release incorporates several new capabilities and one significant behavioral adjustment:
- The –enable-jobserver configure option permits compilers and linkers to inherit GNU make's pipe jobserver, such as with GCC's -flto=jobserver feature. Dry-run, question, and touch modes continue to bypass these commands.
- A fresh delete-on-error option generates the .DELETE_ON_ERROR special target within Makefile.in, directing GNU make to remove targets when their recipes fail after modifying them. Previously, a failed rule like foo.h: gen.sh; ./gen.sh > $@ would leave a truncated file that subsequent make runs treated as current. Other make programs lack this capability, so the option remains inert with alternative implementations.
- The print-distfiles target displays which files "make dist" will package for distribution.
- distcheck no longer executes "make dvi" by default, eliminating the TeX dependency for validating distributions containing Texinfo documentation. Developers can configure AM_DISTCHECK_DVI_TARGET in Makefile.am to specify alternatives like dvi, pdf, or html for documentation build verification.
Getting the Bugs Out
Szewczyk's release notice documents nine resolved bugs, several of which address longstanding frustrations:
- A problem affecting source-directory paths containing <, >, (, or ) characters has been resolved. These symbols could occasionally trigger shell redirections or syntax interpretation in compiler invocations, risking unintended file overwrites in build directories. The system now rejects such paths, a conservative but safer approach than accidental data loss.
- A dependency-tracking defect that could prove maddening has been corrected. Dependencies referencing another target's objects in LIBADD or LDADD now receive proper tracking independent of target processing sequence.
- The dist-zstd function now properly interprets numeric ZSTD_CLEVEL values, such as 3, rather than misinterpreting them as input filenames. This prevents failed or corrupted distribution archives when ZSTD_CLEVEL configuration is active.
Additional resources including downloads, changelogs and related materials are accessible through the GNU Automake website.