== Automake Fu' == This page collects useful bits of automake-fu' to help increase the quality of our software. === Generate Changelogs automatically === {{{ dist-hook: @if test -d "$(srcdir)/.bzr"; \ then \ echo Creating ChangeLog && \ ( cd "$(top_srcdir)" && \ echo '# Generated by Makefile. Do not edit.'; echo; \ $(top_srcdir)/missing --run bzr log --gnu-changelog ) > ChangeLog.tmp \ && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \ || (rm -f ChangeLog.tmp; \ echo Failed to generate ChangeLog >&2 ); \ else \ echo Failed to generate ChangeLog >&2; \ fi @if test -d "$(top_srcdir)/.bzr"; \ then \ echo Creating AUTHORS && \ ( cd "$(top_srcdir)" && \ echo '# Generated by Makefile. Do not edit.'; echo; \ $(top_srcdir)/missing --run bzr log --long --levels=0 | grep -e "^\s*author:" -e "^\s*committer:" | cut -d ":" -f 2 | cut -d "<" -f 1 | sort -u) > AUTHORS.tmp \ && mv -f AUTHORS.tmp $(top_distdir)/AUTHORS \ || (rm -f AUTHORS.tmp; \ echo Failed to generate AUTHORS >&2 ); \ else \ echo Failed to generate AUTHORS: not a branch >&2; \ fi }}} Mentioned by Neil in this [[https://code.edge.launchpad.net/~jassmith/window-picker-applet/changelog/+merge/10996|code review]] === Silent build with Automake 1.11 (with fallback support for older versions) === Add this to configure.ac, below AM_INIT_AUTOMAKE(): {{{ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) }}} == Examples request == * an example for adding and handling --enable/disable-foo * an example for adding an "option-list" (e.g. ./configure --with-test=actions,monitor,dialog)