1.伪目标:Makefile中把那些没有任何依赖只有执行动作的目标成为伪目标。(phony targets)。
.PHONY:clean
clean:
rm -f hello main.o func.o
2.在Makefile中,存在系统默认的自动变量。
$^:代表全部的依赖文件
$@:代表目标
$<:代表第一个依赖文件
hello:main.o func1.o func2.o
gcc main.o func1.o func2.o -o hello
=>
hello:main.o func1.o func2.o
gcc $^ -o $@
在gcc前面加上@符号,可以取消回显,但是出现错误还是会报错,不影响使用,尤其在编译内核的时候,可以避免回显满屏。