zoukankan      html  css  js  c++  java
  • make的自动变量和预定义变量

    make的自动变量

    $@    规则目标的文件名.如果目标是档案文件的一个成员,"$@"就是档案文件的名称

    $%    当目标是档案文件的一个成员时,"$%"是该成员的名称.否则"$%"为空
    $<    第一个依赖文件的名称
    $?    以空格隔开的比目标新的所有依赖文件名.若依赖文件是档案文件的成员,只使用成员的名称
    $^    以空格隔开的所有依赖文件名.若依赖文件是档案文件的成员,只使用成员名称.无论一个依赖文件出现过多少次,"$^"值中只包含其名称的一个拷贝
    $+    与"$^"相似,但多次列出的依赖文件按照它们在构造文件中出现的顺序复制.这对于链接命令中以特定顺序重复出现的库文件名有作用
    $*    隐含规则匹配的词干.若目标为"dir/a.foo.b"且目标模式为"a.%.b",则词干为"dir/foo".对静态模式规则,词干是文件名中与目标模式中"%"匹配的部分.应避免在隐含规则或静态模式规则之外使用"$*"
    $(@D)  删除结尾斜杠的目标文件名的目录部分.若"$@"的值为"dir/foo.o",则"$(@D)"为"dir".若"$@"不包含斜杠,则"$(@D)"为"."
    $(@F)  目标文件名中目录下的文件部分.如果"$@"的值为"dir/foo.o",那么"$(@F)"为"foo.o".它等同于"$(notdir $@)"
    $(*D)  词干中的目录部分,例如上例中的"dir"
    $(*F)  词干中的目录下文件部分,例如上例中的"foo"
    $(%D)  目标档案文件成员的目录部分.仅对形为"archive(member)"的档案文件成员目标有意义,且仅在member包含目录名时有用
    $(%F)  目标档案文件成员中的目录下文件部分
    $(<D)  第一个依赖文件的目录部分
    $(<F)  第一个依赖文件的目录下文件部分
    $(^D)  所有依赖文件的目录部分
    $(^F)  所有依赖文件的目录下文件部分
    $(?D)  比目标新的所有依赖文件的目录部分

    $(?F)  比目标新的所有依赖文件的目录部分


    make的预定义变量

    AR      归档维护程序的名称,默认值为 ar。

    ARFLAGS  归档维护程序的选项。

    AS      汇编程序的名称,默认值为 as。

    ASFLAGS  汇编程序的选项。

    CC      C编译器的名称,默认值为 cc。

    CCFLAGS  C编译器的选项。

    CPP      C预编译器的名称,默认值为 $(CC) -E。

    CPPFLAGS  C预编译的选项。

    CXX      C++编译器的名称,默认值为 g++。

    CXXFLAGS  C++编译器的选项。

    FC      FORTRAN编译器的名称,默认值为 f77。

    FFLAGS    FORTRAN编译器的选项。

  • 相关阅读:
    redis 中 发布订阅 的 数据类型
    excelExport.js 导出 excel 表格
    Go 出现:err is shadowed during return(err在返回过程中被隐藏)
    Go 服务端 向 firebase Android 端 fcm 信息
    Python全栈day 03
    Python全栈day 01
    开发流程与版本管理规范
    php 魔术常量
    sql 消除重复
    重置mysql密码
  • 原文地址:https://www.cnblogs.com/shengs/p/4088742.html
Copyright © 2011-2022 走看看