Makefile反过滤函数filter-out

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

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

普通示例

1
2
3
4
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使用

1
2
3
4
5
6
7
8
9
10
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)

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :