zoukankan      html  css  js  c++  java
  • Android.mk 中 filter 和 filterout 的用法

    Makefile语句
    某项目中mk文件中,用到了ifneq和filter。发现它们俩搭配时,蛮有用的。
    ifneq语句
    ifneq : 判断语句,用于比较两个参数,如果两个参数不等,则该语句通过

    如果a和b不相等,则do something

    ifneq ($(a), $(b))
    # do something
    endif
    1
    2
    3
    4
    filter语句
    filter: 过滤语句,过滤调不符合指定的模式的内容。仅保留符合指定的模式的内容。
    sources := a b c d f g

    指定的模式为 a b c ,多个模式间,用空格区分

    $(filter a b c , $(sources))

    上式返回值为

    a b c

    1
    2
    3
    4
    5
    ifneq + filter
    场景:某项目多个版本(A,B, C),同时进行开发。除了代码中的一些宏开关外,在编译时,也需要进行不同版本的判断。
    接上:版本A、B,编译某模块时需要一个特殊参数。版本C,编译该模块时,不需要该特殊参数。如何控制?

    如果 TARGET 为A 或 B(即不为空),那么加入某些特殊参数

    这里ifneq第二个参数为NULL

    ifneq ($(filter A B , $(TARGET)),)

    某些特殊参数

    endif
    1
    2
    3
    4
    5
    其他
    filter命令在过滤时,大小写敏感(区分大小写)

    原文链接:https://blog.csdn.net/zxc024000/article/details/80284978

  • 相关阅读:
    利用LibreOffice进行WORD转PDF
    SpringBoot实践
    Solr学习笔记(一)
    HashMap原理(转)
    PDF.js展示本地文件
    设计模式之代理模式
    (一)DUBBO基本学习
    如何架构一个框架
    冒泡排序
    js 函数传数组参数
  • 原文地址:https://www.cnblogs.com/onelikeone/p/15668653.html
Copyright © 2011-2022 走看看