Makefile反过滤函数filter-out

$(filter-out PATTERN...,TEXT)

函数名称:反过滤函数 filter-out
函数功能:和 filter 函数实现的功能相反。过滤掉字串“TEXT”中所有符合模式“PATTERN”的单词,保留所有不符合此模式的单词。可以有多个模式。存在多个模式时,模式表达式之间使用空格分割
返回值:空格分割的“TEXT”字串中所有不符合模式“PATTERN”的字串
函数说明:filter-out 函数也可以用来去除一个变量中的某些字符串(实现和filter 函数相反)

普通示例

objects=main1.o foo.o main2.o bar.o
mains=main1.o main2.o

$(filter-out $(mains),$(objects))

实现去除变量objectsmains定义的字串(文件名)功能。返回值为foo.o bar.o

Android.mk使用

LOCAL_PATH := $(call my-dir)

ALL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/*.c))
EXCLUDE_SRC_FILES := cjpeg.c djpeg.c example.c jmemansi.c jmemdos.c jmemmac.c jmemname.c jpegtran.c rdjpgcom.c wrjpgcom.c
JPEG_SRC_FILES := $(filter-out $(EXCLUDE_SRC_FILES),$(ALL_SRC_FILES))

include $(CLEAR_VARS)
LOCAL_MODULE     := libjpeg
LOCAL_C_INCLUDES := .
LOCAL_SRC_FILES  := $(JPEG_SRC_FILES)

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/12/makefile-anti-filter-function-filter-out/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Makefile反过滤函数filter-out
$(filter-out PATTERN...,TEXT) 函数名称:反过滤函数 filter-out 函数功能:和 filter 函数实现的功能相反。过滤掉字串“TEXT”中所有符合模式“PATTERN”的单词……
<<上一篇
下一篇>>
文章目录
关闭
目 录