Autotools:从不同编译的源创建静态库

时间:2012-10-25 23:08:37

标签: autotools static-linking automake libtool ar

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

1 个答案:

答案 0 :(得分:1)

您可能需要便利库。它们记录在手册中。