2016-06-23 10 views
0

У меня есть эта структура каталогов:Могу ли я иметь несколько файлов configure.ac и что делать с AC_OUTPUT?

  • Foo
  • Foo/libfoo - libfoo проект
  • Foo/libfoo/SRC - источники
  • Foo/Foo - foo проект
  • Foo/Foo/src - источники

Существует две отдельные вещи, которые необходимо построить здесь: libtool l ibrary (libfoo) и исполняемый файл (foo) с использованием этой библиотеки.

Я мог бы просто разместить файл configure.ac в каждом foo/libfoo и foo/foo и все было бы хорошо.

Однако я хотел был бы иметь возможность построить оба проекта сразу, поэтому я подумал о размещении дополнительного configure.ac в верхнем уровне foo.

Это хорошая идея?

Если да, то как можно использовать AC_OUTPUT makro в таком случае?

Порождает ли верхний уровень configure.ac файл все Makefile сек во всем дереве или существуют отдельные AC_OUTPUT Makros в подкаталоги, чтобы каждый выходной Там Makefile ы?

Поскольку оба проекта имеют разные зависимости, я бы подумал, что файлы subdir ac делают вывод своих файлов make-файлов?

Могут ли два проекта в поддиректориях по-прежнему строить отдельно в этом случае?

ответ

0

Существует AC_CONFIG_SUBDIRS macro, который делает то, что я хочу, он рекурсирует в поддиры и выполняет там файлы configure.ac.

Проекты sub dir могут быть построены независимо.

Мой Makefile.am содержит только SUBDIRS = libfoo foo.

configure.ac файл содержит AC_CONFIG_SUBDIRS=([libfoo foo]).

+0

Если 'foo' и' libfoo' плотно связаны (например, выпущены как один), вы можете обнаружить, что три скрипта configure немного перегружены. –