我正在尝试从多个来源构建一个静态库。问题是对于某些来源,我必须使用不同的CFLAGS
.
一开始我想创建几个,最后在usingnoinst_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
. 但是我不喜欢这种方法,那么有没有正确的方法来实现呢?