Автоинструменты: создание статической библиотеки из разных источников

Я пытаюсь построить статическую библиотеку из нескольких источников. Проблема в том, что для некоторых источников мне приходится использовать разные 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 ответ

Решение

Вы, вероятно, хотите удобные библиотеки. Они задокументированы в руководстве.

Другие вопросы по тегам