makefile 的语法(3):.ONESHELL,$(SHELL),$$(a),方法取消回显@与错误处理-,变量定义= := ::= ?=,命令 info,make 的编译流程与变量的延迟展开

(21) 规则中的方法中的每条 shell 指令,默认单独在一个进程里执行,使用 .ONESHELL 标签,可以把所有规则的所有命令,放在一个进程里执行

在这里插入图片描述

++ ONESHELL 也属于一条规则,只是只有目标,连依赖都没有,也没有方法。
++ 确定 make 使用的 shell 版本的命令,输出 SHELL 变量的值:

在这里插入图片描述

++ 关于 makefile 中取变量的值 $ 符号的使用。以及测试 makefile 中规则中每条 shell 指令单独在一个进程中执行的结论的正确性:

在这里插入图片描述

++ 关于 $$ ,再做一些补充:

在这里插入图片描述
在这里插入图片描述

++ 运行时赋值:

在这里插入图片描述

(22) 关于 makefile 中 符号 @ 的用法,不往命令行窗口显示指令,直接把 shell 命令交给进程执行。这个前面记过笔记了。
关于 makefile 的回显,还有另一个方法,就是使用 .SILENT 规则:

在这里插入图片描述

(23) makefile 中的错误处理:

在这里插入图片描述

(24)接着学习使用变量简化 makefile :

在这里插入图片描述

++ 给出老师的课件 ,知识总结:

在这里插入图片描述

++ 给出改写后的 makefile :

在这里插入图片描述

++ 用 命令 info 打印变量的值 :

在这里插入图片描述

(25) 学习新的 linux 命令 , info :

在这里插入图片描述

(26)接着学习 makefile 文件被 make 程序读取的过程:

在这里插入图片描述

(27) = 号是延迟展开, := 或 ::= 是立即展开

在这里插入图片描述

++ 再给出一个例子:

在这里插入图片描述

++ 再给出一个例子:

在这里插入图片描述

(28)再来学习一个 makefile 里的条件赋值

在这里插入图片描述

(29)

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值