Ответ 1
См. учебник Alexandre Duret Lutz Autotools, необходимо прочитать.
Он содержит диаграммы, объясняющие, как разные файлы проекта autotools взаимодействуют друг с другом и с помощью какого инструмента они используются: configure
, config.h
, config.status
, aclocal.m4
и т.д.
EDIT: Джон Калькот также объясняет цель aclocal и aclocal.m4 в первой главе своей книги об Autotools: Глава 1: Краткое введение в GNU Autotools:
Утилита aclocal фактически документирована руководствами GNU в качестве временного решения для определенной гибкости в Autoconf. Autoconf был спроектирован и написан первым, а затем несколькими годами позже идея Automake была задумана как дополнение для Autoconf. Но Autoconf действительно не был предназначен для расширения в масштабе, требуемом Automake.
...
По сути, задача aclocals заключается в создании файла aclocal.m4 путем объединения различных макрофайлов из установленных пакетов Autotool и пользовательских мест, таких, что Autoconf может найти их все в одном месте.
...
Однако последняя документация из обоих наборов инструментов предполагает, что вся парадигма aclocal/acinclude устарела, в пользу более нового метода указания каталога, содержащего файлы макросов m4. Текущая рекомендация заключается в том, что вы создаете каталог в каталоге проекта, который называется просто m4 (acinclude кажется более подходящим для этого автора) и добавляет макросы в виде отдельных файлов .m4 в этот каталог. Все файлы в этом каталоге будут собраны в aclocal.m4 до того, как Autoconf обработает ваш файл configure.ac. В конечном итоге aclocal будет заменен функциональностью самого Autoconf.