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

  • 相关阅读:
    企业财务分析四步走
    切比雪夫不等式
    归并排序
    sql笔记
    paper 150:GCC--GNU Compiler Collection(GNU编译器套件)
    paper 149:Deep Learning 学习笔记(一)
    paper 148: Face Databases
    paper 147:Deep Learning -- Face Data Augmentation(一)
    paper 146:CAFFE--leveldb/lmdb文件
    paper 145:caffe-深度学习框架的搭建
  • 原文地址:https://www.cnblogs.com/yangjiguang/p/6848124.html
Copyright © 2011-2022 走看看