我最近从使用Makefiles转到使用Automake,我无法弄清楚如何使用automake编写以下简单的if语句:
DEBUG ?= 1
ifeq (${DEBUG},1)
CXXFLAGS:=$(CXXFLAGS) -g
else
CXXFLAGS:=$(CXXFLAGS) -O3 -DNDEBUG
endif
如果我使用的是automake,这甚至可以吗?因为它会自动生成makefile,所以在Makefile模板中编写它是否有意义?或者我应该尝试找到一些方法来添加自动生成的Makefile吗?
答案 0 :(得分:1)
不,你不能在Automake中使用这样的语法。前两行没有确切的等价物。
您可以使用Automake条件执行某些操作(请参阅Automake手册中的条件数的使用以获取示例),并从DEBUG
设置./configure
。
但是,我认为这样做没什么意义:如果您想全局更改CXXFLAGS
,只需在configure
中更改此变量,而不是在Makefile.am
中更改。