3

具体来说,我想按照以下思路做一些事情。对于定义应如何构建库文件的 Makefile.am 脚本,我希望能够在整个过程中访问通用库名称。例如,假设我希望将库的名称称为“名称”,我可以从以下变量开始:

LIBNAME = name

然后我可能会有这样的事情:

lib_LTLIBRARIES = lib$(LIBNAME).la

但是当我想做以下事情时,automake 开始抱怨:

lib$(LIBNAME)_la_SOURCES = file1.cpp file2.cpp
lib$(LIBNAME)_la_LIBADD = ...

是否可以使用其他语法进行类似的操作,这样我就不必多次重复库的名称?

干杯,

本。

4

2 回答 2

4

如果您在configure时间而不是在 Makefile 本身中定义变量,则可以这样做。

例如,在configure.ac

LIBNAME=name
AC_SUBST(LIBNAME)

然后你可以Makefile.am像这样访问它:

lib_LTLIBRARIES = lib@LIBNAME@.la
于 2013-01-26T17:47:19.230 回答
0

然后我可能会有这样的事情:

LIBNAME = 名称
lib_LTLIBRARIES = lib$(LIBNAME).la
lib$(LIBNAME)_la_SOURCES = file1.cpp file2.cpp
lib$(LIBNAME)_la_LIBADD = ...

IFAIK,这不适用于 automake。我也不认为可以使用其他语法来做到这一点。

于 2013-01-25T17:57:13.583 回答