如何在没有将.la和.a库也安装到--prefix路径的情况下使用autotools/libtool构建和安装.so模块?
目前我正在使用以下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文件中。
但问题仍然是如何使.la文件不被安装到 --prefix 目录,同时让.so文件被安装。
更新 #2
可以使用以下方法从安装的 --prefix 目录中删除.la文件:
install-exec-hook: find $(DESTDIR)$(libdir) -type f -name \*.la -delete