首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

makefile变量赋值

大家好,又见面了,我是全栈君 在定义变量的值时,我们可以使用其它变量来构造变量的值,在Makefile中有两种方式来在用变量定义变量的值。...先看第一种方式,也就是简单的使用“=”号,在“=”左侧是变量,右侧是变量的值,右侧变量的值可以定义在文件的任何一处,也就是说,右侧中的变量不一定非要是已定义好的值,其也可以使用后面定义的值。...可见,变量是可以使用后面的变量来定义的。...“MAKELEVEL”,其意思是,如果我们的make有一个嵌套执行的动作(参见前面的“嵌套使用make”),那么,这个变量会记录了我们的当前Makefile的调用层数。...因为在操作符的右边是很难描述一个空格的,这里采用的技术很管用,先用一个 Empty变量来标明变量的值开始了,而后面采用“#”注释符来表示变量定义的终止,这样,我们可以定义出其值是一个空格的变量

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

makefile基础和工作常用点补充

一、Makefile简介 Makefile是什么,能做什么用,为什么要用?...(5) 在工作目录按 "GNUmakefile、makefileMakefile (推荐)" 顺序查找执行,或 -f 指定。...f fileName  -n 显示待执行的命令,但不执行 Makefile组成 显式规则:生成、依赖文件,生成命令 隐含规则:make支持的自动推导功能, make –p 打印 变量定义:类C..."="   递归展开变量,仅在目标展开时才会替换,也就是说它可以引用在后面定义的变量。  ":=" 直接展开变量,在定义时就直接展开,它无法后置引用。 "?..."+=" 追加赋值,也是递归展开 执行shell命令赋值给变量 A = $(shell uname) 文件包含:include  注释:    “#” 特殊变量: 三、Makefile 工作常用点补充

1.4K00

Linux里Makefile是什么?它是如何工作的?

进阶示例 变量 在之前的实例中,大部分目标和预置条件是已经固定了的,但在实际项目中,它们通常用变量和模式来代替。 定义变量最简单的方式是使用 = 操作符。...但如果一个变量尝试将它本身赋值给自己,将会造成死循环。...为了避免这种情况发生,可以使用 := 操作符(这被称为简单扩展变量)。...以下代码不会造成上述问题: CC := gcc CC := ${CC} all: @echo ${CC} 模式和函数 下面的 Makefile 使用了变量、模式和函数来实现所有 C 代码的编译。...总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。

3.3K31

【开发环境】Windows 系统中使用 Makefile 构建脚本编译 C 程序 ( 下载并安装 TDM-GCC 编译器 | 配置环境变量 | 编译 Makefile 程序 )

文章目录 一、下载 TDM-GCC 编译器 二、安装 TDM-GCC 编译器 三、配置环境变量 四、根据 Makefile 脚本编译 C 程序 一、下载 TDM-GCC 编译器 ---- 下载并安装 TDM-GCC...TDM-GCC 编译器 ---- 双击上述安装文件 , 选择 " Create " 选项 ; 选择第二个版本 ; 设置安装位置 : 选择安装组件 , 默认即可 ; 等待安装完毕 ; 三、配置环境变量...---- TDM-GCC 安装后的 bin 目录如下 ; 将上述 bin 目录 D:\001_Develop\020_TDM-GCC-64\bin 配置到环境变量中 ; 这个环境变量是安装完毕后自动配置进去的...; 四、根据 Makefile 脚本编译 C 程序 ---- 使用如下命令编译程序 : mingw32-make -f Makefile.mingw

1.8K10

芯片开发最常用的Makefile语法和功能

这意味着如果你需要创建一个包含单个空格的变量,直接在变量赋值时使用空格可能会因行首空格被忽略而导致无法达到预期效果。...Makefile中的变量 Makefile中,变量只能是string类型,我们看下对变量的一些赋值操作,要区别'='、':='、'?='和'+='这四种赋值方式。...这意味着在变量定义时,Makefile 不会立即展开其值,而是将其作为一个待处理的宏,直到该变量在后续规则或表达式中被引用时才进行展开。...单独的 符号就是引用makefile中定义变量的值, $表示引用shell命令中定义的变量的值。...平时用Makefile来做一些芯片方面的像vcs仿真编译这些工作,上面将的Makefile中的知识就大概够用了。但Makefile还有一个经常使用的场景,就是对C文件的编译。

7010

makefile从入门到放弃——博主吐血整理的笔记

Make工程管理器就是个“自动化编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。...可以在makefile目标前加上.PHONY:'目标名' makefile变量makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方...的工作目录。...当使用 make 的选项 “-C” 的时候,命令就会进入指定的目录中,然后此变量就会被重新赋值。总之,如果在 Makefile 中没有对此变量进行显式的赋值操作,那么它就表示 make 的工作目录。...我们也可以在 Makefile 中为这个变量赋一个新的值,当然重新赋值后这个变量将不再代表 make 的工作目录。

1.5K20

makefile终极奥义

或许很多Winodws 的程序员都不知道这个东西,因为那些 Windows 的 IDE 都为你做了这个工作,但是一个好的和 professional 的程序员, makefile 还是要懂。...那就要说说 make 是如何工作的 make是如何工作的 在默认的方式下,也就是我们只输入 make 命令。那么, make会在当前目录下找名字叫“Makefile”或“makefile”的文件。...上述还只是简单的makefile,属于「显式规则」,那么为了优化makefile我们介绍「隐式规则」 makefile中使用变量Makefile中我们要定义一系列的变量变量一般都是字符串,这个有点...在Makefile中我们要定义一系列的变量变量一般都是字符串,这个有点像你C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上。 函数。...其包主要介绍了三个函数,一个是提取工作目录下的所有.c文件列表,另外一个就是将提取的.c列表转换成.o列表,最后就是shell函数,可以执行任何shell操作. 注释。

1.3K30

Linux Make(Makefile)由浅入深的学习与示例剖析

Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互依赖关系并自动维护编译工作。...make执行时,自动寻找makefile(Makefile)文件,然后执行编译工作。因此,我们需要自己编写makefile文件(Makefilemakefile都可以直接被make命令识别,下同。...评析: 方法2利用makefile文件,进行项目所有文件的编译管理,可保存、易修改,且编译执行效率高,大大减轻了每次编译的工作量 方法2,仅仅是最为初级的makefile项目管理格式,现在我们将逐步对其进行优化...2、在命令行中出现的Shell变量,引用Shell的 $tmp 格式,一般为执行命令过程中的临时变量,不属于makefile变量,而是Shell变量。...评析: 方法5在makefile文件中,引入参数变量、命令变量和自动变量,此方法编译系统,高效但不太直观,特别是维护修改不便,高手可秀。

1.8K20

跟我一起写Makefile:MakeFile介绍

还不尽然,这是makefile的主线和核心,但要写好一个makefile还不够,我会以后面一点一点地结合我的工作经验给你慢慢道来。内容还多着呢。...记住,make并不管命令是怎么工作的,他只管执行所定义的命令。...所以,为了makefile的易维护,在makefile中我们可以使用变量makefile变量也就是一个字符串,理解成C语言中的宏可能会更好。...在Makefile中我们要定义一系列的变量变量一般都是字符串,这个有点像你C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上。 文件指示。...make的工作方式 GNU的make工作时的执行步骤如下:(想来其它的make也是类似) 读入所有的Makefile。 读入被include的其它Makefile。 初始化文件中的变量

97520
领券