在automake中使用条件

时间:2010-07-08 20:50:26

标签: 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吗?

1 个答案:

答案 0 :(得分:1)

不,你不能在Automake中使用这样的语法。前两行没有确切的等价物。

您可以使用Automake条件执行某些操作(请参阅Automake手册中的条件数的使用以获取示例),并从DEBUG设置./configure。 但是,我认为这样做没什么意义:如果您想全局更改CXXFLAGS,只需在configure中更改此变量,而不是在Makefile.am中更改。