Depois de muitas e muitas baixadas de tar.gzês de terceiros, pra descompactar e dar ./configure ; make ; make install, usar autotools em meu próprio projeto dá uma sensação muito boa! Sou praticamente gente grande! =P
Mas tenho de admitir começar foi complicado, são muitas as informações, felizmente pude contar com este excelente tutorial:
Ele faz um progresso gradual, com boas explicações e exercícios. Uma pena que o exemplo com GTK+ esteja totalmente deprecated. Para compensar esse problema e tocar meu projeto, usei um ardil descarado: criei um projeto GTK+ chamado gtk-foo no Anjuta (apt-get install anjuta autogen), sem suporte a internacionalização, pra não complicar as coisas.
Copiei os arquivos autogen.sh e configure.in, Makefile.am, aclocal.m4 e src/Makefile.am de gtk-foo para logicparser. Além disso foi necessário criar os conhecidos arquivos README, NEWS, ChangeLog, etc, conforme manda a tradição. Também foi necessário copiar alguns scripts de /usr/share/automake-1.9 para o diretório do projeto: depcomp, install-sh e missing.
Depois disso alguns ajustes precisaram ser feitos, como em lp_app.h, por exemplo, que guardava a indicação de onde encontrar o arquivo lp_gui.glade, já que o make install deveria colocar o arquivo glade em /usr/local/share/logicparser/glade.
Como ficou o trecho do header lp_app.h:
// For testing propose use the local (not installed) glade file
//#define GLADE_FILE "lp_gui.glade"
#define GLADE_FILE PACKAGE_GLADE_DIR"/lp_gui.glade"
O macro PACKAGE_GLADE_DIR é setado pelo compilador e foi definido em src/Makefile.am:
gladedir = $(datadir)/logicparser/glade
glade_DATA = lp_gui.glade
INCLUDES = \
-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-DPACKAGE_SRC_DIR=\""$(srcdir)"\" \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-DPACKAGE_GLADE_DIR=\""$(gladedir)"\" \
$(PACKAGE_CFLAGS)
AM_CFLAGS =\
-Wall\
-g
bin_PROGRAMS = logicparser
logicparser_SOURCES = \
logicparser.c \
lp_app.c \
lp_graph.c \
lp_test.c \
logicparser.h \
lp_app.h \
lp_graph.h \
main.c
logicparser_LDFLAGS =
logicparser_LDADD = $(PACKAGE_LIBS)
EXTRA_DIST = $(glade_DATA)
O que mais gostei nesse início de uso do Autotools foi o make dist, que gera um logicparser-x.y.z.tar.gz. E por falar nele, podem baixar a última versão (0.4.2) na seção de Downloads: http://code.google.com/p/logicparser/downloads/list
Resta aprender como incluir suporte à internacionalização (provavelmente com ajuda do Anjuta 🙂 e build para Win32. Mas agora chega, estou caindo de sono. Se interessou, veja o site do autotut mencionado acima.