c - 在 automake 中使用条件语句

标签 c makefile automake

我最近从使用 Makefiles 切换到使用 Automake,但我不知道如何使用 automake 编写以下简单的 if 语句:

DEBUG ?= 1
ifeq (${DEBUG},1)
CXXFLAGS:=$(CXXFLAGS) -g
else
CXXFLAGS:=$(CXXFLAGS) -O3 -DNDEBUG
endif

如果我使用 automake,这是否可以做到?既然它自动生成 makefile,那么将其写入 Makefile 模板是否有意义?或者我应该尝试找到某种方法将其添加到自动生成的 Makefile 中?

最佳答案

不,您不能在 Automake 中使用这样的语法。前两行没有完全相同的内容。

您可以使用 Automake 条件做一些接近的事情(有关示例,请参阅 Automake 手册中的条件的使用),并从 ./configure< 设置 DEBUG/。 不过,我认为这样做没有什么意义:如果您想全局更改 CXXFLAGS,只需在 configure 中更改此变量,而不是在 Makefile.am 中>.

关于c - 在 automake 中使用条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3207900/

相关文章:

c - 尝试编写一个从用户处获取名称的函数

makefile - 在Makefile中使用条件规则

c - Makefile:make运行命令

automake - 告诉 automake 在安装之前或链接之后在程序上运行一些命令

C - 使用内部已存在的指针扩展结构数组

c - 是否有与C相同的语言?

c - C 中 Makefile 的问题

c++ - 使用 Automake 进行单元测试

autotools - 使用自动工具的Hello World库

c - 如果以下代码中没有 "volatile"关键字,编译器可以执行什么优化?