makefile
1. 想要了解一个项目的流程,,第一步 ,,看makefile文件。
2.makefile 本质 : 用来管理工程文件的工具
指令 make
好处 : 提高工作效率,减少出错概率
基本规则 :三部分组成
目标 :依赖
(tab)命令(只有一个Tab)
3.文件名只有makefile和Makefile两种,如果不是这两种,需要使用 make -f 文件名 进行调用
4. 工作原则 :
检查规则中的依赖条件是否存在
检查该规则中的目标是否需要更新
5.echo $? 查看上次程序退出的返回值
echo $ PATH
6.重要 一种规则 两种函数 三个变量
三个自动变量 :
$@ : 表示规则当中的目标。(在命令中)
$< : 表示规则中的第一个条件(在命令中)
$^ : 表示规则中的所有条件,组成一个列表,用空格隔开
扩展:$? :表示规则中所有比目标文件新的文件,组成一个列表, 用空格隔开
两个函数:
src = $(wildcard *.c)
将当前目录中的所有以.c结尾的文件展开成src的内容
obj = $(patsubst %.c, %.o, $(src))
将src变量中.c结尾的文件替换为.o结尾的文件
一个规则 :
模式规则 :
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
注意 :只有写成模式规则的时候, $< 表示依赖条件依次取出
7. 注释使用“#”
8.foo = abc
bar = &(foo)
向变量定义使用’=‘
变量值得使用$(变量名)
扩展 : all : 执行主要的编译工作
Project | |||||
src (源文件) | obj(目标文件) | include(头文件) | media(媒体文件) | lib(库文件) | makefile |
英语: target(目标) multiple(多种) definition(定义)