版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoxu2050/article/details/83927572
特殊字符
*: 通配符
*.c 表示所有c文件。
%: 用于替换关键词
%.o: %.c
test.o与该规则匹配,即 test.o: test.c
$@:表示目标的名字,包括扩展名
$^:表示依赖的所有文件,以空格隔开,不重复
$<:表示依赖的第一个文件
$+:表示所有依赖文件,空格隔开,可以重复
$?:依赖列表中更新过的文件
shell命令的中的特殊字符
@ :执行shell命令时会回显命令本身,使用@就不会回显了,例如:
test: test.o
#使用@,原命令就不会会回显
echo "in test" #回显
@echo "out test" #不会回显
输出:
#test @ #回显内容
echo "in test" #回显内容
in test #命令输出
out test #命令输出
-: make过程中出错会终止编译,在命令行前加-,则不会终止,常用配合rm和mkdir等命令
clean:
-rm -rf *.o
+: 命令行前加上加号+的含义,表明在使用 make -n 命令的时候,其他行都只是显示命令而不执行,只有+ 行的才会被执行。