(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)
谢谢