![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Makefile
文章平均质量分 74
makefile
bleauchat
证明自己,同时验证你的选择是错误的!
展开
-
makefile中的条件判断
条件语句可以根据一个变量的值来控制 make 执行或者忽略 Makefile 的特定部分;条件语句可以是两个不同变量、或者变量和常量值的比较。要注意的是:条件语句只能用于控制 make 实际执行的 makefile 文件部分,它不能控制规则的 shell 命令执行过程;makefile中主要有以下几种条件判断:1.判断是否相等 ifeqifeq 条件语句 条件成立时要做的事情endif或者ifeq 条件语句 条件成立时要做的事情else 条件不成立时要做的事情原创 2022-04-17 10:57:21 · 5153 阅读 · 0 评论 -
makefile中调用linux命令
在makefile中可以直接执行 linux 命令,如下:all: @ls -al执行结果如下:如果想将 命令的输出 赋给一个变量,可以使用下面的两种方式:即第一种方式:变量名 = $(shell linux命令)第二种方式:变量名 = `linux命令`运行结果如下:第二种方式最为常见,例如在 shell 脚本中给变量赋值或者在perl中给变量赋值,好像都是一样的写法;附加:date命令date命令可以按照指定格式显示日期,只...原创 2021-09-26 21:19:35 · 3187 阅读 · 0 评论 -
为规则书写命令
每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以Tab键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。显示命令通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用@字符在命令行前,那么,这个命令将不被make显示出来,最具代表性的例子是,我们用这个功能来向屏幕显示一些信息。如:@echo 正在编...原创 2020-08-03 07:57:51 · 415 阅读 · 0 评论 -
Makefile:使用函数
1. makefile中的函数make解释器提供了一系列的函数供makefile调用(即预定义函数,相当于库函数) 在makefile中支持自定义函数实现,并调用执行 通过define关键字实现自定义函数 自定义的函数一般用于定义命令的集合,并且运用于规则中自定义函数的语法来看下面的例子:在Makefile中, 通过define关键字来实现函数的自定义,并以endef关键字结束,自定义函数使用预定义函数call调用,后边跟自定义函数名及参数。define 函数名 ...转载 2020-08-02 23:55:00 · 3087 阅读 · 0 评论 -
makefile:预定义变量的使用
1. makefile中预定义的变量自动变量: $@, $^, $< ...... 特殊变量: $(MAKE), $(MAKECMDGOALS), $(MAKEFILE_LIST) ......2. 自动变量的含义$@: 当前规则中触发命令被执行的目标 $^:当前规则中的所有依赖 $<:当前规则中的第一个依赖3. 自动变量的使用示例注意:1)$对于makefile有特殊的含义,输出时需要加上一个$进行转义2)$@对Bash Shell有特殊含义,输...原创 2020-07-25 21:32:04 · 1904 阅读 · 0 评论 -
makefile中一些操作符 = += := ?=的含义
1、“=”的作用输出:解释:当执行make命令后makefile中变量展开;原本应该如此 x=foo; y=fool bar; x =xyz;但实际是展开时x为 xyz, "="寻找的是变量最终的值;y=$(x) bar 就变成了 xyz bar,x最终为 xyz2、“:=”的作用输出:解释:":="的作用域取决于 当前变量解析时所处的位置替换,并不去最终的值;因此当解析到y :=$(x) bar时,x的值为foo 替换后就是 fool bar3、“?=”...转载 2020-07-24 08:07:59 · 1743 阅读 · 0 评论 -
书写规则
规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目标会成为最终的目标。make所完成的也就是这个目标。好了,还是让我们来看一看如何书写规则。规则举例foo.o: foo.c转载 2020-07-23 08:12:41 · 429 阅读 · 0 评论 -
Makefile介绍
概述什么是makefile?或许很多Windows的程序员都不知道这个东西,因为那些Windows的集成开发环境(integrated development environment,IDE)都为你做了这个工作,但作为一个好的和专业的程序员,makefile还是要懂。这就好像现在有这么多的HTML编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标签的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。转载 2020-07-22 08:08:58 · 5700 阅读 · 0 评论