У меня есть проект Automake, который имеет следующую структуру каталогов:
Makefile.am
src/
src/common
src/common/common.c
src/common/common.h
src/common/Makefile.am
src/mylib
src/mylib/mylib.c
src/mylib/mylib.h
src/mylib/Makefile.am
На src/common/Makefile.am
есть цель библиотеки удобства Libtool:
noinst_LTLIBRARIES = libcommon.la
libcommon_la_SOURCES = common.c common.h
На src/mylib/Makefile.am
есть цель публичной общей библиотеки Libtool:
lib_LTLIBRARIES = libmylib.la
libmylib_la_SOURCES = mylib.c mylib.h
libmylib_la_LIBADD = ../common/libcommon.la
Теперь я ожидал, что Automake будет достаточно умным, чтобы автоматически добавить к libmylib_la_CFLAGS
-I
, указывающему на каталог, где находится common.h
, поскольку он зависит от libcommon.la
.
Есть ли на самом деле механизм для включения этого (аналогично INTERFACE_INCLUDE_DIRECTORIES
в CMake) или, может быть, переменная (например, libcommon_la_HEADERS
), которая уже содержит все заголовки, принадлежащие удобной библиотеке libcommon
?
Я исследовал всюду и не мог найти путь к нему вместо добавления -I ../common/
непосредственно к mylib CFLAGS.