A very good description of a simple use of autoconf and automake:
The problem with autotools is that it is used for complicated things, and people cut-and-paste complicated things even when they ought to be simple. 99% of people just need a way to access .pc files and generate juicy Makefiles, the portability part is taken care by glib, sdl and so on.
The most basic autotools setup is 9 lines.
AC_CONFIG_HEADERS([config.h]) # not really needed
AC_PROG_CC # or AC_PROG_CXX
bin_PROGRAMS = hello
hello_SOURCES = hello.c
And you're ready for:
$ autoreconf -fvi
On top of this, for each package you need, you add:
AM_CFLAGS = $(cairo_CFLAGS) $(fontconfig_CFLAGS)
LIBS += $(cairo_LIBS) $(fontconfig_LIBS)
respectively in configure.ac (after AC_PROG_CC) and Makefile.am. Is that complicated?