zoukankan      html  css  js  c++  java
  • make eval builtin function

    1 eval的返回值是空字符串,因此它可以用于Makefile的任何位置而不引起错误

    2 eval函数的作用效果

    生成Makefile的动态部分,即eval用于增加Makefile的构成部分。

    也就是说,经过eval扩展之后的text部分,完全可以看成是Makefile的一部分,在make的时候,由make自己去解析执行,执行的过程完全等同于Makefile的其它静态部分。

    3 eval内部嵌套一个函数的话,eval做了什么

    首先是被嵌套的内部函数的扩展,在其扩展的结果上eval工作。

    3.1 eval的expand

    即普通的变量的扩展,对于双$$,去掉一个$。

    3.2 eval将expand后得到的text当成是makefile的一部分

    比如rules、比如变量赋值等等。

    这样的好处是很显然的,Makefile就不是静态不变的了,而是动态的,可以生成的。

    4 eval、call、define是完美组合,用于定义Makefile的动态部分

  • 相关阅读:
    vim
    Linux 软链接和硬链接
    常用命令
    linux 二级目录结构
    关于bash shell的理解
    虚拟机网络模式
    安装虚拟机
    date 命令
    使用3种协议搭建yum仓库
    ubuntu update时发生错误
  • 原文地址:https://www.cnblogs.com/hustdc/p/7476118.html
Copyright © 2011-2022 走看看