我正在尝试从多个来源构建一个静态库。问题是对于某些来源,我必须使用不同的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
中。但是我不喜欢这种方法,所以有一种正确的方法可以实现这一目标吗?
您可能想要便利库。它们在手册中记录在手册中。