如何使用 autotools/libtool 构建和安装 .so 模块,而无需将 .la 和 .a 库也安装到 --prefix 路径中?
目前我正在使用以下 Makefile.am:
lib_LTLIBRARIES = libCurlDownloader.la
libCurlDownloader_la_SOURCES = Curl.cpp
libCurlDownloader_la_LDFLAGS = -module -avoid-version
它可以工作,但除了 libCurlDownloader.so 之外,它还安装了 libCurlDownloader.la 和 libCurlDownloader.a,这是不可取的。
更新#1
可以使 .a 不生成,通过使用
./configure --disable-static
或者
AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
在configure.ac
但这仍然是一个问题,如何在安装 .so 时不将 .la 安装到安装 --prefix 中。
更新#2
可以从安装中删除 .la 文件 --prefix 使用
install-exec-hook: find $(DESTDIR)$(libdir) -type f -name \*.la -delete