makefile如何判断字符串是否包含某个字符
时间: 2023-05-29 07:07:29
浏览: 1331
在Makefile中,可以使用[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)函数`findstring`来判断一个[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)是否包含某个字符。
语法如下:
$(findstring find, in)
其中,`find`为要查找的字符或[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083),`in`为要在其中查找的[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)。如果`in`中包含`find`,则返回`find`,否则返回空[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)。
举个例子,假设我们要判断变量`VAR`中是否包含字符`a`,可以写出如下代码:
ifeq ($(findstring a, $(VAR)), a)
@echo VAR contains a
@echo VAR does not contain a
endif
其中,`ifeq`表示判断两个值是否相等,如果相等则执行第一个代码块,否则执行第二个代码块。在第一个代码块中,我们使用`findstring`函数来查找字符`a`,如果返回的结果等于`a`,说明`VAR`中包含字符`a`,则输出`VAR contains a`;否则输出`VAR does not contain a`。
相关问题
Makefile中判断字符串是否为空
在 Makefile 中,可以使用条件语句来判断字符串是否为空。可以使用 ifeq 或 ifneq 语句来实现。
ifeq ($(VAR),)
# VAR 为空的情况下执行的操作
# VAR 不为空的情况下执行的操作
endif
其中,VAR 是需要判断的字符串变量,如果 VAR 为空,则执行第一个操作,否则执行第二个操作。如果需要判断 VAR 不为空,则可以使用 ifneq 语句,并将