Существует несколько шаблонов для автоинструментов, но я не нашел смысла использовать. Вот простой скрипт для настройки нового проекта:
#!/bin/sh
set -e
DIR=${1:-$HOME/new-project}
mkdir $DIR
cd $DIR
mkdir tests
mkdir src
cat > tests/basic.in << EOF
#!/bin/sh
set -e
@srcdir@/../src/hello
EOF
: ${EMAIL=$( id -un )@$( hostname )}
echo TESTS = basic > tests/Makefile.am
echo bin_PROGRAMS = hello > src/Makefile.am
echo SUBDIRS = src tests > Makefile.am
echo 'int main( void ) { return 1; }' > src/hello.c
touch configure.ac
autoscan
sed -e s@FULL-PACKAGE-NAME@$(basename $1)@ \
-e s/VERSION/0.0.0/ \
-e s/BUG-REPORT-ADDRESS/$EMAIL/ \
-e '/AC_CONFIG_HEADERS/a\
: ${enable_silent_rules=yes} ' \
-e '/AC_CONFIG_HEADERS/a\
AM_INIT_AUTOMAKE([foreign color-tests silent-rules])' \
-e '/AC_OUTPUT/i\
AC_CONFIG_FILES([tests/basic],[chmod +x tests/basic])' \
configure.scan > configure.ac
Обратите внимание, что это выглядит сложнее, чем на самом деле, и по замыслу создает проект, в котором набор тестов не выполняется (или, скорее, набор тестов преуспевает, улавливая тот факт, что программа не выполняется!) В основном вам нужна одна строка в каждом Makefile.am, и вам нужно добавить специфические данные проекта в автоматически сгенерированный файл configure.ac. Из этого фонда вы можете делать все, что вам нужно.