makefile 函数

Posted yangxinrui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile 函数相关的知识,希望对你有一定的参考价值。

1. findstring

$(findstring <find>, <in>)

从 in 中查找 find ,如果找到则返回find,否则返回空

str1=1111
str2=11222

all:
        @echo $(findstring $(str1), $(str2))

 示例 uboot makefile是否编译

# Allow for silent builds
ifeq (,$(findstring s,$(MAKEFLAGS)))
XECHO = echo
else
XECHO = :
endif

 

2. origin

$(origin var)

返回 var 的来源

可能返回:

undefined
enviroment
default
file
command line
override
automatic

示例

ifeq ("$(origin O)", "command line")
BUILD_DIR := $(O)
endif

 

3.if

$(if <condition>, <then_return>, [else_return])

如果condition 不为空,则condition为真,则返回 then_return 的内容,否则返回 else_return

示例

OBJTREE         := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))

 

以上是关于makefile 函数的主要内容,如果未能解决你的问题,请参考以下文章

makefile中的Cflags用法

使用带有 NMake 样式 Makefile 的 clang-cl 无法回显

使用makefile动态编译c++代码

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数

linux makefile中对函数的未定义引用