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编译器的选项。

make的自动变量和预定义变量的更多相关文章

  1. Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1

    Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1.1.1       C++内建变量(__LINE__).... 1.1.2       ...

  2. Linux Shell基础 位置参数变量、预定义变量

    位置参数变量 在 Linux 的命令行中,当一条命令或脚本执行时,后面可以跟多个参数,我们使用位置参数变量来表示这些参数.其中,$0 代表命令行本身,$1 代表第 1 个参数,$2 代表第 2 个参数 ...

  3. linux中位置参数变量和预定义变量

    位置参数变量   预定义变量

  4. 小鸟初学Shell编程(八)环境变量、预定义变量与位置变量

    环境变量 环境变量:每个Shell打开都可以获得到的变量. 我们知道通过export的方式打开可以让子进程读取父进程的变量的值,那怎么样才能让每一个进程都能读取到变量的值呢? 在这呢,系统有一些默认的 ...

  5. Linux学习--第十天--bash脚本、用户自定义变量、环境变量、位置参数变量、预定义变量、标准输入输出、wc、history、dd、PS1

    shell简介 分为两种c shell 和b shell b shell:sh.ksh.Bash.psh.zsh: (Bash和sh兼容,linux基本shell是Bash) c shell:csh. ...

  6. PHP_零基础学php_2变量、预定义变量、预定义常量、表达式、运算符、程序控制流程

    1.变量 PHP中使用$后跟变量名表示一个变量,变量名区分大小写. 变量的数据类型 整数类型 浮点类型 字符串类型 布尔类型 数组类型 对象 <html> <head> < ...

  7. 『忘了再学』Shell基础 — 17、预定义变量

    目录 1.预定义变量$? 2.预定义变量$$和$! 我们之前说过,Shell中的变量不是按照变量值的类型来进行分类的,而是按照Linux系统中定义的变量类别来分类的. 预定义变量就是,事先把变量的名称 ...

  8. openGL 预定义变量04

    OpenGL4.0 GLSL预定义变量 GLSL为不同的渲染阶段定义了一些特定的变量.这些预定义(也叫做内置变量)有特定的属性. 所有的预定义变量都以gl_开头.用户定义的变量不能以此开头. 下面分类 ...

  9. GLSL预定义变量

    GLSL为不同的渲染阶段定义了一些特定的变量.这些预定义(也叫做内置变量)有特定的属性.所有的预定义变量都以gl_开头.用户定义的变量不能以此开头. 下面分类进行介绍. (1)顶点着色器输入 in i ...

随机推荐

  1. stock article

    stock 征服星辰大海 http://www.tianya.cn/95789158 论坛_悟道股市_天涯社区 http://www.tianya.cn/108318593/bbs?t=post 当下 ...

  2. eclipse 启动报share library load faild

      eclipse 与 jdk 版本要一致 *32 - 对应32位 *64 - 对应64位

  3. python的一些科学计算的包

    在安装numpy这类科学计算的包的时候,pip下载的东西有时候缺少一些东西. 可以到这里下载,根据提示信息,少哪个包,或者哪个包出现错误就安装哪个包. PIL到这里下载

  4. C++基础学习-20120515

    1---------带参数的构造函数B (int i) : data(i);//data=i冒号后面是成员变量初始化列表member initialization list 2-----------拷 ...

  5. iOS runtime探究(二): 从runtime開始深入理解OC消息转发机制

    你要知道的runtime都在这里 转载请注明出处 http://blog.csdn.net/u014205968/article/details/67639289 本文主要解说runtime相关知识, ...

  6. thrift学习之一-------介绍

    thrift 官网:  http://thrift.apache.org/ Thrift是一个软件框架,用于支持可扩展的跨语言服务的开发,它无缝的与C++,Java,Python,PHP,Ruby,E ...

  7. 【Unity】动态调用其他脚本的函数

    本文转载自:http://blog.csdn.net/smilingeyes/article/details/17767269 第一种,被调用脚本函数为static类型,调用时直接用 脚本名.函数名( ...

  8. /dev/null脚本中作用

    /dev/null设备文件只有一个作用,往它里面写任何数据都直接丢弃. 因此保证了该命令执行时屏幕上没有任何输出. 在shell中常见. command  > /dev/null   2> ...

  9. HBase shell 命令。

    HBase shell 命令. 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使用相应的keytab进行一下认证( ...

  10. 【Hibernate步步为营】--核心对象+持久对象全析(二)

    上篇文章讨论了Hibernate的核心对象,在开发过程中经经常使用到的有JTA.SessionFactory.Session.JDBC,当中SessionFactory可以看做数据库的镜像,使用它可以 ...