在 Makefile.am(automake) 中使用 if 语句

Posted

技术标签:

【中文标题】在 Makefile.am(automake) 中使用 if 语句【英文标题】:using if statement in Makefile.am(automake) 【发布时间】:2013-02-07 17:41:32 【问题描述】:

我知道对于 Makefile 我们可以写如下 bloc

ifneq ($(MYAPP_REVISION)_,_)
ifneq ($(MYAPP_REVISION),exported)
    myapp_CFLAGS+=-DMYAPP_REVISION=\"$(MYAPP_REVISION)\"
    myapp_LDFLAGS+=-DMYAPP_REVISION=\"$(MYAPP_REVISION)\"
endif
endif

但是如果在makefile.am (autoconf) 中写这个块,我会得到构建不起作用。

关于在 makefile.am 中编写与此 bloc 等效的内容有什么想法吗?

【问题讨论】:

你试过手册吗? gnu.org/software/automake/manual/html_node/… 另见sourceware.org/autobook/autobook/autobook_179.html 您可以在 Makefile 中编写此类内容,但并非所有版本的 make 都能识别它。 automake 的要点之一是它生成(大部分)可移植的 makefile。将不可移植的语法写入 Makefile.am 会适得其反。 【参考方案1】:

您必须在源代码中查找生成的输出并引用 M4 语法。

【讨论】:

以上是关于在 Makefile.am(automake) 中使用 if 语句的主要内容,如果未能解决你的问题,请参考以下文章

懒人学习automake, Makefile.am,configure.ac

懒人学习automake, Makefile.am,configure.ac(转)

automake 第三方库

如何使用 Automake 创建一个特定目录?

未定义的引用使用 automake

.SUFFIXES 拒绝在 Automake 中工作