知识点
-
all一般表示最终生成的目标,clean表示要清除的目标
-
以
\
作为换行符,然后必须跟一个Tab符合格式(或者分号) -
$?
是一个自动化变量,表示所有比目标新的依赖文件的集合 -
通配符还可以用于赋值
-
make文件最后的clean是一个伪目标
-
可以使用PHONY显式地指定目标为伪目标
-
目标可以不止一个可以使用下面的方法同时生成多个目标:
-
$@
意味着目前规则中多个目标的集合 -
忽略错误的话,在tab前面加入-号
-
make可以使用嵌套定义
#目标all 冒号后面是依赖的文件
all:main.c foo.c foo2.c foo3.c
# 下面这一行是命令
gcc main.c foo.c foo3.c -o all