![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Makefile
文章平均质量分 81
薇远镖局
态度决定一切!
展开
-
makefile之ifeq代码的AI注释【学习】
实用程序用来构建和管理各种语言(最常见的是C和C++)项目的文件。这个特定的Makefile用于根据配置选项有条件地在构建过程中包含某些源文件和目录。如果定义了宏,相关的代码将被包含在最终的可执行文件中。如果没有,它将被忽略。第二个参数是一个变量,预期在Makefile的其他地方或在环境中设置。指令是Makefile中的一个条件指令。是GCC和Clang编译器常用的标志,用于定义预处理器宏。这个变量可能在Makefile的后面用来编译所有源文件。这个目录是编译器在编译过程中查找额外头文件的地方。原创 2024-01-27 19:38:17 · 423 阅读 · 0 评论 -
Makefile (12)— Makefile 常见的错误信息
make执行过程中所产生错误并不都是致命的,特别是在命令行之前存在、或者make使用-k选项执行时。make 执行过程的致命错误都带有前缀字符串***。错误信息都有前缀,一种是执行程序名作为错误前缀(通常是make另外一种是当Makefile本身存在语法错误无法被make解析并执行时,前缀包含了Makefile文件名和出现错误的行号。这类错误并不是make的真正错误。它表示make检测到make所调用的作为执行命令的程序返回一个非零状态(Error NN。转载 2023-04-09 22:51:12 · 3570 阅读 · 0 评论 -
Makefile(11)— make 命令参数和选项汇总、make 中特殊目标汇总
makemake。转载 2023-04-09 22:36:17 · 4254 阅读 · 0 评论 -
Makefile(10)— 嵌套执行 make、export 的使用
make。转载 2023-04-09 22:09:30 · 849 阅读 · 0 评论 -
Makefile(09)— include 文件包含、MAKECMDGOALS
当 make 读取到 include 关键字的时候,会暂停读取当前的 Makefile,而是去读 include 包含的文件,读取结束后再继读取当前的 Makefile 文件。include 使用的具体方式如下:filenames 是 shell 支持的文件名(可以使用通配符表示的文件)。include 通常使用在以下的场合:如果在上面的路径没有找到 include 指定的文件,make 将会提示一个文件没有找到的警示提示,但是不会退出,而是继续执行 Makefile 的后续的内容。当完成读取整个 M转载 2023-04-09 21:16:27 · 864 阅读 · 0 评论 -
Makefile(08)— 默认 shell (/bin/sh)、命令回显、make参数(-n 只显示命令但不执行,-s 禁止所有回显)、单行命令、多行命令、并发执行
shellshell。转载 2023-04-09 15:58:17 · 1048 阅读 · 0 评论 -
Makefile(07)— 其它函数(foreach 、if、call、origin )
foreach 函数定义如下:每一次 <text> 会返回一个字符串,循环过程中,<text> 的返所返回的每个字符串会以空格分割,最后当整个循环结束的时候,<text> 所返回的每个字符串所组成的整个字符串(以空格分隔)将会是 foreach 函数的返回值。所以 <var> 最好是一个变量名,<list> 可以是一个表达式,而 <text> 中一般会只用 <var> 这个参数来一次枚举 <list> 中的单词。示例:执行 make 结果foreach 中的 <var> 参数是一个临时转载 2023-04-09 13:58:43 · 515 阅读 · 0 评论 -
Makefile(06)— 文件名操作函数(dir、notdir、suffix、basename、addsuffix、addperfix、join、wildcard)
dir编写Makefile的时候,很多情况下需要对文件名进行操作。例如获取文件的路径,去除文件的路径,取出文件前缀或后缀等等。注意:下面的每个函数的参数字符串都会被当作或是一个系列的文件名来看待。转载 2023-04-09 12:33:31 · 3225 阅读 · 0 评论 -
Makefile(05)— 字符串处理函数(patsubst、subst、strip、findstring、filter、filter-out、sort、word)
或者是其中,functionarguments而参数和函数名之间使用空格分开。调用函数的时候要使用字符,后面可以跟小括号也可以使用花括号。转载 2023-04-09 00:22:49 · 3057 阅读 · 0 评论 -
Makefile 【03】— 目标文件搜索(VPATH 和 vpath 的区别和使用)、隐含规则
如果需要的文件是存在于不同的路径下(即源文件与 Makefile 文件不在同一个路径下),在编译的时候就用到了 Makefile 中为我们提供的目录搜索文件的功能。常见的搜索的方法的主要有两种:在 Makefile 中可以这样写:我们可以这样理解,把 dir 的值赋值给变量 VPATH,所以在执行 make 的时候会从 dir 目录下找我们需要的文件。当存在多个路径的时候我们可以这样写:或者是多个路径之间要使用空格或者是冒号隔开,表示在多个路径下搜索文件。搜索的顺序为我们书写时的顺序,应该转载 2023-04-02 23:31:09 · 861 阅读 · 0 评论 -
Makefile 【02】— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin
Makefile变量的名称=值列表变量的名称可以由大小写字母、阿拉伯数字和下划线构成。等号左右的空白符没有明确的要求,因为在执行make的时候多余的空白符会被自动的删除。至于值列表,既可以是零项,又可以是一项或者是多项。调用变量的时候可以用或者是来替换,这就是变量的引用。当要添加或者是删除某个依赖文件的时候,我们只需要改变变量OBJ的值就可以了。转载 2023-04-02 21:35:28 · 858 阅读 · 0 评论 -
Makefile【01】 — 什么是Makefile、为什么要用Makefile、Makefile规则、Makefile流程如何实现增量编译
MakefileMakefile文件描述了Linux系统下 C/C++ 工程的编译规则,它用来自动化编译 C/C++ 项目。一旦写编写好 Makefile 文件,只需要一个make命令,整个工程就开始自动编译,不再需要手动执行GCC命令。一个中大型 C/C++ 工程的源文件有成百上千个,它们按照功能、模块、类型分别放在不同的目录中,Makefile文件定义了一系列规则,指明了源文件的编译顺序、依赖关系、是否需要重新编译等。Makefile。转载 2023-04-02 17:06:40 · 476 阅读 · 0 评论 -
Makefile【04】 — 条件判断 (ifeq、ifneq、ifdef 和 ifndef)、定义命令包 define 、伪目标
Makefile转载 2023-04-01 20:44:56 · 5976 阅读 · 0 评论 -
Makefile中的条件编译:ifeq、ifneq、ifdef和ifndef
Makefile转载 2023-04-01 18:46:30 · 944 阅读 · 0 评论