ifneq (,$(filter $(strip $(TARGET_BOARD_PLATFORM)), mt6761 mt6768 mt6771 mt6779 mt6785 mt6762 mt6765 mt6739 mt8168 mt6885 mt6873 mt6853 mt6877 mt6833 mt6893))
MTKCAM_CFLAGS += -DMTKCAM_CUSTOM_METADATA_COMMON=1
else
MTKCAM_CFLAGS += -DMTKCAM_CUSTOM_METADATA_COMMON=0
endif
- ifneq: 这个函数用于条件判断,它的意思是“如果不等于”(if not equal)。它接受两个参数,如果这两个参数不相等,则条件为真。在Makefile中,ifneq经常用于ifeq(如果等于)的反面情况。语法如下:
ifneq (parameter, value)
# 条件为真的执行代码
else
# 条件为假的执行代码
endif
在这里两个参数是空和filter函数过滤出来的返回值。
- filter 函数:这个函数用于从一个变量或参数中筛选出匹配特定模式的元素,返回匹配的列表。语法如下:
$(filter pattern...,text)
filter函数接受两个参数:第一个是一个或多个模式(pattern),第二个是待筛选的文本(text)。它将返回所有匹配这些模式的文本中的单词列表。
- strip 在Makefile中,strip是一个字符串处理函数,用于去除字符串两端的空白字符。这包括空格、制表符、换行符等。strip函数非常有用,特别是在处理来自环境变量或由其他Makefile函数生成的字符串时,这些字符串的两端可能会有不可见的空白字符。