创建没有源文件的静态libtool库

时间:2015-09-02 08:01:16

标签: shared-libraries static-libraries autotools libtool

使用autotools和libtool,我需要将子目录中的几个库合并到顶层目录中的更大的静态库中。这是架构:

# src/Makefile.am

ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4                                                                                                                               
AUTOMAKE_OPTIONS = subdir-objects                                                                                                                                      

SUBDIRS = foo bar .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

noinst_LTLIBRARIES = libbig.la                                                                                                                     

libbig_la_LIBADD = \                                                                                                                               
    foo/libfoo.la \
    foo/libbar.la                                                                                                                              

在子目录中:

# src/foo/Makefile.am

ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4                                                                                                                               

noinst_LTLIBRARIES = libfoo.la                                                                                                                     

libbig_la_SOURCES = \                                                                                                                               
    foo.cpp \
    foo_ji.cpp 

它没有规定制定目标libbig.la。是否可以使用无源文件创建库(静态或共享)?

1 个答案:

答案 0 :(得分:1)

需要阅读libfoo_la_SOURCESlibbig_la_SOURCES以及libbig_la_LIBADD