Как обрабатывать подпроекты с помощью autotools?

У меня есть сборка проекта на С++ с помощью autotools.

В проекте используются некоторые библиотеки, также написанные мной. Источник библиотек импортируется в проект в качестве подмодулей git. Каждая библиотека имеет свои файлы autotools.

Скажем, у меня есть:

src/<my src files>
modules/libfoo/
        libbar/
Makefile.am
Configure.in
<other autotools junk>

Я хочу, чтобы как-то включить библиотеки в основную цепочку компиляции проекта. Я думаю, что просто включить subdir в Makefile.am недостаточно, потому что некоторые проверки могут быть изменены в configure.am.

Ответ 1

Вы можете запустить скрипты configure в подмодулях, добавив команду AC_CONFIG_SUBDIRS в конфигурацию верхнего уровня script. Он сообщает верхнему уровню script опускаться в подкаталоги и вызывать найденную там конфигурацию script. Затем вы можете просто ссылаться на встроенные библиотеки из вашего Makefile.am.

Прочтите этот руководства по изготовлению GNU.