Make file 函数

来源:互联网 发布:淘宝店铺托管协议 编辑:程序博客网 时间:2024/06/04 18:58

Makefile中有很多函数,这里逐步归类:


1. if函数

 函数原型: $(if <condition>,<then part>,<else part>)

 函数说明:condition是判断条件,如果condition返回非空字符串,那就执行<then part>部分,如果condition返回空字符串,那就执行<else part>部分。

 函数返回:返回<then part> 或者<else part>的执行结果

举例:$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT)

 首先判断$(KBUILD_VERBOSE:1=)的结果,如果KBUILD_VERBOSE=1,则将KBUILD_VERBOSE替换为空字符串,那执行结果就为空字符串,那整个if的返回结果也为空字符串

       如果KBUILD_VERBOSE为非1,那KBUILD_VERBOSE为非空,那if的判断条件为非空,那if的返回结果为else part部分,这里为@


2. origin函数

   函数原型:$(origin <var>)

  函数说明:<var>是变量名字,用于判断这个变量来自于哪里,

  函数返回:1. <var>没有被定义,则返回"undefined"

                      2.<var>是使用make命令带进来的参数,则返回 "command line"

                      3.<var>如果是系统环境变量,则返回"environment"

                      4.<var>如果是"override"字符重定义的,则返回"override"

                      5.<var>是命令行中的自动化变量,则返回"automatic",比如$(origin @)

0 0
原创粉丝点击