zoukankan      html  css  js  c++  java
  • gnu make规则记录

    1.

    $(shell CMD)
      名称: 执行 shell 命令函数
      功能: 在新的 shell 中执行 CMD 命令
      返回值: CMD 在 shell 中执行的结果

    例如:PLATFORM=$(shell $(ROOT)/systype.sh)在执行完下面的脚本后等价于PLATFORM=linux

    case `uname -s` in
    "FreeBSD")
        PLATFORM="freebsd"
        ;;
    "Linux")
        PLATFORM="linux"
        ;;
    "Darwin")
        PLATFORM="macos"
        ;;
    "SunOS")
        PLATFORM="solaris"
        ;;
    *)
        echo "Unknown platform" >&2
        exit 1
    esac
    echo $PLATFORM
    exit 0

    2. “include”指示符告诉 make 暂停读取当前的 Makefile,而转去读取“include”指定的一个或者多个文件,完成以后再继续当前 Makefile 的读取。Makefile 中指示符“include”书写在独立的一行,其形式如下:      include FILENAMES...

    我们可使用“-include”来代替“include”,忽略由于包含文件不存在或者无法创建时的错误。“-”的意思是告诉 make,忽略此操作的错误,make 继续执行。

    为了和其它的 make 程序进行兼容。也可以使用“sinclude”来代替“-include”。(GNU 所支持的方式)   。

    3.自动化变量$?代表依赖文件列表中被改变过的所有文件。
    自动化变量$^代表所有通过目录搜索得到的依赖文件的完整路径名(目录 + 一般文件名)列表。
    自动化变量$@代表规则的目标。
    自动化变量$<代表规则中通过目录搜索得到的依赖文件列表的第一个依赖文件。

  • 相关阅读:
    Java学习笔记(4)
    Idea常用功能汇总
    Java学习笔记(3)
    Java学习笔记(2)
    Java学习笔记(1)
    如何开发NPM包
    c#抓屏功能在DPI缩放后,截到的图片不完整的问题
    支持续传功能的ASP.NET WEB API文件下载服务
    ASP.NET MVC 阻止通过Url直接访问服务器上的静态文件
    VS2013/VS2015/VS2017通过oschina托管代码
  • 原文地址:https://www.cnblogs.com/yangjiguang/p/6848124.html
Copyright © 2011-2022 走看看