Автоинструменты: создание статической библиотеки из разных источников
Я пытаюсь построить статическую библиотеку из нескольких источников. Проблема в том, что для некоторых источников мне приходится использовать разные CFLAGS
,
В начале я думал о создании нескольких noinst_LIBRARIES
и, наконец, объединить их в один в lib_LIBRARIES
с помощью LIBADD
, Этот подход терпит неудачу, потому что нет никакого способа объединить статические библиотеки, используя ar
не извлекая их.
Вот так мой Makefile.am
на данный момент выглядит:
noinst_LIBRARIES = lib1.a lib2.a
lib_LIBRARIES = final.a
final_a_CFLAGS = -Werror
final_a_SOURCES = mainlib/src.c
final_a_LIBADD = lib1.a lib2.a
lib1_a_CFLAGS = -O0
lib1_a_SOURCES = lib1/src11.c lib1/src12.c
lib2_a_CFLAGS = -O3
lib2_a_SOURCES = lib2/src21.c
Я уже думал о замене AR
с ar
обертка, которая сначала извлечет библиотеки, а затем объединит их в final.a
, Но мне не нравится такой подход, поэтому есть ли правильный способ добиться этого?
1 ответ
Решение
Вы, вероятно, хотите удобные библиотеки. Они задокументированы в руководстве.