0

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

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

如果我使用自动制作,这甚至可能吗?既然它会自动生成 makefile,那么在 Makefile 模板中编写它是否有意义?还是我应该尝试找到某种方法将其添加到自动生成的 Makefile 中?

4

1 回答 1

1

不,您不能在 Automake 中使用这样的语法。前两行没有完全等价的。

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

于 2010-07-08T22:04:25.540 回答