Makefile里面注释用 #
$@:表示目标文件的名称,包含扩展名
$^:表示所有的依赖文件,以空格隔开,不重复
$<:表示第一个依赖文件的名称
$+:表示所有的依赖文件,空格隔开,可以重复
$*:表示目标文件的名称,不包含扩展名
$?:依赖项中,所有比目标文件新的依赖文件
多级目录下的Makefile:
2顶层makefile:总控Makefile
3子目录Makefile:功能Makefile
1scripts目录Makefile:头文件Makefile
总控Makefile作用:进入各个功能子目录下执行make命令,将各个子目录下的.o文件链接生成可执行文件。
子目录下的功能Makefile:将当前目录下的.c文件编译生成.o文件
头文件的Makefile:定义一些变量