张家界住房和城乡建设局网站,开发工具宏怎么使用,网页游戏排行榜2022前十名最新排名图片,前程无忧做网站多少钱本文继续上一篇关于 Makefile 文件内容的介绍。上一篇文章如下#xff1a;
Linux下 Makefile 基本语法_凌雪舞的博客-CSDN博客 一. Makefile
上一篇文章介绍了 Makefile基本语法中的变量#xff0c;模式规则#xff0c;自动化变量。这里继续介绍 Makefile 的另外一些语…本文继续上一篇关于 Makefile 文件内容的介绍。上一篇文章如下
Linux下 Makefile 基本语法_凌雪舞的博客-CSDN博客 一. Makefile
上一篇文章介绍了 Makefile基本语法中的变量模式规则自动化变量。这里继续介绍 Makefile 的另外一些语法。包括 Makefile 的伪目标条件判断函数调用。 1. Makefile 伪目标
Makefile 有一种特殊的目标——伪目标。不像真正的目标那样会生成一个目标文件。
典型的伪目标是 Makefile 中用来清理编译过程中中间文件的 clean 伪目标。
一般格式如下:
.PHONY: clean -- 这句没有也行, 但是最好加上
clean:-rm -f *.o
执行伪目标的效果等于执行了某一个动作 并不产生目标文件。 2. Makefile 条件判断
在 C 语言中我们通过条件判断语句来根据不同的情况来执行不同的分支Makefile 也支持条件判断。条件判断的关键字包括ifeqifneqifdefifndef。其中ifeq 与 ifneq 成对ifdef 与 ifndef 成对使用。前者判断是否相等后者判断变量是否否定义。 语法有两种如下 ifneq 与 ifeq 用法相似只是意思相反。ifeq 条件语句条件成立时要做的事情
else条件不成立时要做的事情
endif ifdef 语法格式如下ifndef 与 ifdef 用法相似只是意思相反。
ifdef 变量名
如果“变量名”的值非空那么表示表达式为真否则表达式为假。3. Makefile 函数的使用
Makefile 支持函数类似 C 语言一样Makefile 中的函数是已经定义好的我们直接使用 不支持我们自定义函数。。make 所支持的函数不多。函数的用法如下$(function arguments)
或是
${function arguments}参数集合是函数的多个参数参数之间以逗号 “,” 隔开函数名和参数之间以 “空格” 分隔开。几种常用的函数如下
(1) 函数 subst : 用来完成字符串替换
调用形式如下 $(subst from,to,text) //此函数的功能是将字符串text中的from内容替换为to (2) 函数 patsubst: 用来完成模式字符串替换
使用方法如下 $(patsubst pattern,replacement,text) (3) 函数 dir: 用来获取目录.
使用方法如下 (//从文件名序列names中提取出目录部分返回值是文件名序 names的目录部分) $(dir names…) (4) 函数 notdir : 去除文件中的目录部分也就是提取文件名用法如下 $(notdir names…) (5) 函数 foreach 用来完成循环用法如下 $(foreach var, list,text) 把参数list中的单词逐一取出来放到参数var中然后再执行text所 包含的表达式。每次text都会返回一个字符串循环的过程中text中所包含的每个字符串 会以空格隔开最后当整个循环结束时text所返回的每个字符串所组成的整个字符串将会是 函数 foreach 函数的返回值。(6) 函数 wildcard: 通配符“%”只能用在规则中只有在规则中它才会展开如果在变量定义和函数使用时 通配符不会自动展开这个时候就要用到函数 wildcard使用方法如下 $(wildcard PATTERN…) 例如如下 $(wildcard *.c) //用来获取当前目录下所有的.c 文件类似“%”。 关于 Makefile 中的内容以后有机会再在文章中补充。