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; \
fiMentioned by Neil in this 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)