LINUX.ORG.RU

automake & autoconf


0

0

Hi All!

Как при использовании automake&autoconf указать, что определённая собираемая библиотека должна при инсталляции складываться в определённый каталог? Сначала я попробовал в Makefile.am этой либы поставить следующее:

buildimage=<some path>
buildimagedir=$(buildimage)/<subpath>/XXX
buildlib_LIBRARIES = XXX.a
libXXX_a_SOURCES = a.c b.c c.c
libXXX_a_LIBADD = $(buildimage)/lib/YYY.a

Всё отлично - либа XXX.a ставилась в <some path>/<subpath>

Но потом оказалось, что таких либ несколько... В каждой забивать полный путь - это не гуманно. Пробовал перенести строку

buildimage=<some path>

в Makefile.am самого верхнего уровня, а из Makefile.am либы убрать его. Но тогда получается, что при выполнении make для либы XXX переменная $(buildimage) оказывается пустой. Не совсем понятно почему, ведь в Makefile верхнего уровня она определена, а в Makefile для либы она всего лишь должна подставиться? Какие есть способы разрешения подобной проблемы?

ошибка во второй строке Makefile.am вместо

buildimagedir=$(buildimage)/<subpath>/XXX

читать

buildlibdir=$(buildimage)/<subpath>/XXX

ebersen
() автор топика

есть способ, который работает, но мне он кажется несколько топорным

configure.in:
----------------------
buildimage=<some path>
AC_SUBST(buildimage)
----------------------


Makefile.am (для XXX либы):
----------------------
buildlibdir=@buildimage@/<subpath>/XXX
buildlib_LIBRARIES = XXX.a
XXX_a_SOURCES = a.c b.c c.c
XXX_a_LIBADD = @buildimage@/lib/YYY.a
----------------------

ebersen
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.