我最近从使用 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/