5规则中的命令

bash 复制代码
一条规则可以有多行命令,按顺序执行

使用@不在终端打印命令本身
Normally make prints each line of the recipe before it is executed.
When a line starts with '@', the echoing of that line is suppressed.
The '@' is discarded before the line is passed to the shell.

默认情况下,每一行命令都在一个单独的shell中被执行

Makefile中命令扩展使用$(shell command)或者`command`,不要使用$(),$()是用来引用Makefile中的变量
-i:忽略过程中的错误,继续执行
bash 复制代码
To ignore errors in a recipe line, write a '-' at the beginning of the line's text.
clean:
	-rm -f *.o
This causes make to continue even if rm is unable to remove a file.
bash 复制代码
make -C sub_dir#进入sub_dir中, 执行make命令
make -C sub_dir <target_name>#进入sub_dir中, 执行make命令, 指定target

#执行make -C sub_dir会打印下面信息,[]中的数字表示递归的层级
make[1]: Entering directory 'sub_dir的实际绝对路径'
在sub_dir目录下执行make产生的日志
make[1]: Leaving directory 'sub_dir的实际绝对路径'

https://www.gnu.org/software/make/manual/html_node/Recursion.html

https://www.gnu.org/software/make/manual/html_node/_002dw-Option.html

https://www.gnu.org/software/make/manual/html_node/Echoing.html

相关推荐
charlie11451419121 天前
Linux Kernel Programming4
linux·c·makefile·内核开发·内核日志
张飞的猪1 个月前
Makefile文件中,两个$的变量变量$$Xxx 与一个$的变量 $Xxx的区别
makefile
却道天凉_好个秋1 个月前
c++ CMakeLists.txt详解
c++·makefile·cmakelists.txt
彷徨而立1 个月前
【Makefile】编译日志之输出重定向符号 >
makefile
DieSnowK4 个月前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver
橘子真甜~4 个月前
Linux基础3-基础工具3(make,makefile,gdb详解)
linux·运维·服务器·makefile·make·gbd
zhangzhangkeji4 个月前
make 程序规定的 makefile 文件的书写语法
makefile·make
Betty’s Sweet5 个月前
[Linux]:环境开发工具
linux·git·vim·makefile·gdb·gcc·g++
想想吴5 个月前
15 - make 中的隐式规则概述
makefile·隐式规则