首页 > 解决方案 > Makefile ${if ... , ...} 语法

问题描述

在一些 Makefile 中找到这样的语法

${if ${VERBOSE},-DVERBOSE=true} ${if $G,-G "$G"}

我可以猜到它的作用,但找不到文档。有人可以为此指出我的正确名称/文档吗?

标签: makefilegnu-make

解决方案


在正确观察到我没有指向确切的正确位置后进行了编辑。

条件语句通常使用 ifeq/ifneq/ifdef/ifndef 指令(或者 if 函数,事实证明就是这种情况)。请参阅 Makefile 的条件部分,第 7 节中的指令或第 8.4 节中的 if 函数https://www.gnu.org/software/make/manual/

直接取自那里:

$(if condition,then-part[,else-part])

if 函数为函数上下文中的条件扩展提供支持(与 GNU make makefile 条件相反,例如 ifeq(请参阅条件语法)。

第一个参数,条件,首先去除所有前面和后面的空格,然后展开。如果它扩展为任何非空字符串,则该条件被认为是真的。如果它扩展为空字符串,则该条件被认为是错误的。


推荐阅读