gnu-make - 如何访问 Makefile.am 文件顶部定义的用户定义变量?

标签 gnu-make autotools autoconf automake

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

LIBNAME = name

那么我可能会有这样的东西:

lib_LTLIBRARIES = lib$(LIBNAME).la

但是当我想做类似下面的事情时,automake 开始提示:

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

是否可以使用其他一些语法,这样我就不必多次重复库的名称?

干杯,

本。

最佳答案

如果您在 configure 时而不是在 Makefile 本身中定义变量,就可以做到这一点。

例如,在configure.ac中:

LIBNAME=name
AC_SUBST(LIBNAME)

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

lib_LTLIBRARIES = lib@LIBNAME@.la

关于gnu-make - 如何访问 Makefile.am 文件顶部定义的用户定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526535/

相关文章:

autoconf - 如何在 configure.ac 中取消定义宏

c - GNU Makefile并行执行两个文件

c - 如何将 ws2_32.lib 与 autotools 链接

autotools - AS_IF 和 AC_MSG_ERROR : error: possibly undefined macro

c# - 如何为 Linux 上的 Mono C# 应用程序创建构建文件?

makefile - CFLAGS 与 CPPFLAGS

c - 完全相同的命令行在 Make 中产生错误,但如果从 shell 运行则成功

makefile - GNU Make。为什么用这种复杂的语法生成依赖关系?

makefile - 将 gmake Makefile 转换为 make Makefile?

c - 如何在 Autotools 中打包可执行文件及其依赖的库