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

相关推荐
却道天凉_好个秋9 天前
c++ CMakeLists.txt详解
c++·makefile·cmakelists.txt
彷徨而立13 天前
【Makefile】编译日志之输出重定向符号 >
makefile
DieSnowK3 个月前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver
橘子真甜~3 个月前
Linux基础3-基础工具3(make,makefile,gdb详解)
linux·运维·服务器·makefile·make·gbd
zhangzhangkeji3 个月前
make 程序规定的 makefile 文件的书写语法
makefile·make
Betty’s Sweet4 个月前
[Linux]:环境开发工具
linux·git·vim·makefile·gdb·gcc·g++
想想吴4 个月前
15 - make 中的隐式规则概述
makefile·隐式规则
笑川 孙4 个月前
Linux | Linux开发工具链全攻略:yum、vim、gcc/g++、GDB、Makefile与git版本控制
linux·c++·git·vim·makefile·gcc·g++
DieSnowK6 个月前
[C++][CMake][嵌套的CMake]详细讲解
开发语言·c++·makefile·make·cmake·新手向·详细讲解