我正在尝试编写一个Makefile.am来将许多静态库链接到一个单独的库中(不需要额外的源代码,我只想要一个库合并)。 这是我的Makefile.am文件:
#target lib xxxx linking yyyy and zzzz libs (no source at this level):
noinst_LTLIBRARIES = lib_xxxx.la
lib_xxxx_la_SOURCES =
#member libs:
SUBDIRS = yyyy
lib_xxxx_la_LIBADD = yyyy/yyyy.la
SUBDIRS += zzzz
lib_zzzz_la_LIBADD = zzzz/zzzz.la
我没有规定制定目标'全部'。 即使我压制线:
lib_xxxx_la_SOURCES =
如何通过telke automake来做到这一点?
答案 0 :(得分:0)
库合并不像automake
中的那样工作。您的库是noinst
库,这意味着如果没有其他原因可以构建它,它就不会。
此外,您宣布图书馆的方式,不太可能做您打算做的事情。特别是用于定义原始库的任何标志都将被忽略,因为新库将使用存档而不是共享对象。
如果你定义了你想要做的事情会更简单,最重要的是为什么,因为我不认为有很多(如果有的话)尝试这样的好理由。
答案 1 :(得分:-1)
我的问题中的Makefile.am(包括lib_xxxx_la_SOURCES =
行确实在使用更新版本的autotools(以及一个完整的新项目,如果这很重要)时可以正常工作。