makefile 特殊变量

  • SHELL = /bin/bash # 设置执行shell, 默认为sh

  • Rule 速记 --> [email protected]: $< $? $^

    [email protected] 目标, 包括使用 .PHONY: ? 声明的价目标

  • $ 是 makefile 关键字, 要在 shell 中使用 ‘$‘ 字符, 一律使用 "$$" 转义



makefile 特殊变量

原文地址:https://www.cnblogs.com/develon/p/11622537.html

时间: 2024-11-05 12:26:01

makefile 特殊变量的相关文章

makefile之变量赋值

makefile中变量赋值有4种方法: = ,   := ,  += ,  ?= = :直接赋值 变量 = 值 :=   :位置相关赋值 如果右值为一个值,那么它和=没区别,如果右值为变量,那么左边变量的值等于右边变量当前位置的值,什么意思呢? a = abc b = $(a) a = jkl all: @echo $(b) .PHONY:all 执行这个makefile,输出 b的值为jkl,  在 b = $(a) 这句中,变量a的值被延迟展开,即由变量a最后一条赋值语句 a = jkl 决

Makefile中变量赋值的方式

Makefile中的"="":="."?="和"+="区别是:"="是直接给变量赋值.":="是将":="右边中包含的变量直接展开给左边的变量赋值."?="是在该变量没有被赋值 的情况下为其赋值."+="是给该变量追加值.例:a = 1b = 2c := $(a) 3d = 4d ?= 5b += 6结果:a=1c=1 3d=4

Makefile的变量

1.变量基础 变量在声明时需要给予初值,而在使用时,需要给在变量名前加上"$"符号,但最好用小括号"()" 或是大括号"{}"把变量给包括起来.如果你要使用真实的"$"字符,那么你需要用"$$"来表示. 变量可以使用在许多地方,如规则中的"目标"."依赖"."命令"以及新的变量中.先看一个例子: objects = program.o foo.o

关于Makefile自动化变量

Makefile的自动化变量在管理大量源文件时是十分高效的,它可以避免Makefile管理大型工程时编写过于繁琐. 下面是常用的Makefile自动化变量及其释义. [email protected] 表示目标文件集合,以空格分隔.生成目标时该变量会依次输出目标文件. 示例: OBJ=first second third $(OBJ): @echo [email protected] 其输出为: first second third $^ 表示目标依赖文件集合,以空格分隔.生成目标时该变量会输出

关于makefile中变量的多次赋值以及override指令

1 基本原则如下 1.1 原则1 变量的普通赋值是有先后顺序的,后面的赋值会覆盖掉前面的赋值. 1.2 原则2 使用的时候,用的是其前面最后的赋值,就算其后面有使用了override指令的赋值也不会影响这条原则. 1.3 原则3 当使用了override指令定义赋值了变量后,其后对该变量的所有的赋值都是无效的.但是override之前的所有的赋值都是有效的.使用的时候是往前最近原则. 2 override变量.命令行参数和普通变量之间的屏蔽关系 override变量会屏蔽命令行参数,除非用+=:

Makefile——使用变量

在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串.变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中. 命名规范 ①变量大小写敏感,推荐大小写搭配命名,方便区分系统变量(全大写) ②变量名字可以包含字符.数字,下划线(可以是数字开头),但不可以含有“:”.“#”.“=”或是空字符(空格.回车等) ③“$<”.“[email protected]”这种奇怪的符号是自动化变量 = 和 := 变量定义方式:变量名 = 值 变量在声明时需

makefile自动化变量$*

1.如果目标文件的后缀是make所识别的,那么"$*"就是除了后缀的那一部分. makefile文件如下 1 all: foo.o 2 echo final 3 4 foo.o: bar.c 5 echo $* bar.c文件存在,执行make后的结果: echo foo foo echo final final

从头開始写项目Makefile(三):变量的使用

[版权声明:转载请保留出处:blog.csdn.net/gentleliu. Mail:shallnew at 163 dot com] 细致研究我们的之前Makefile发现.我们还有改进的地方.就是此处: target_bin : main.o debug.o ipc.o timer.o tools.o >---gcc -o target_bin main.o debug.o ipc.o timer.o tools.o 假设添加一个源文件xx.c的话.须要在两处或多处添加xx.o文件. 我们

很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序

很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用make更新函数库文件 后序 近期在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出来,方便学习. 后记,看完发现这篇文章和<Linux环境下的C编程指南>