1.Make File 文件
帮助我们更快地编译工程文件, 主要在编译的过程中会判断是否需要编译某些.c文件 。
- 根据文件的时间戳来进行判断
依赖于目标:
目标与依赖的关系是相对的,
2. 如何运行Mkefile
$ sudo apt install make // 先安装make
make
注意:
- 在使用make的时候 如果没有指定目标则 , 第一个将成为这当个Makefile的最终目标
- 如果目标已经存在,则需要比较目标和依赖的时间关系,
- 如果依赖不存则不需要比较导致不执行
- 如果依赖存在则比较时间新则需要更新,反之则不需要更新
- 依赖于目标是相互的,比如上面代码中 test2他既是 test的依赖, 也是test3的目标
3.变量
- 在我们使用命令 make 的时候会读取 MakeFile 文件的内容进行展开,类似于宏在预处理是的情况。
- 变量可以用来表示一个列表 , 类似于C语言中的 字符串指针数组 。
- 变量名不能包括“:”、“#”、“=”、前置空白和尾空白的任何字符串。
- 变量名是大小写敏感的。变量“foo”、“Foo”和“FOO”指的是三个不同的变量。
- 系统预先定义好了一些自动化变量 :“
- 变量的引用跟Shell脚本类似,使用美元符号和圆括号 $(Foo) 引用变量 Foo
TAG=./BIN/main
SRC=./SRC/main.c
OBJ=./SRC/main.o
CONFIG=-I./INC -L./LIB -lmaster
$(TAG):$(OBJ)
$(CC) $(OBJ) -o $(TAG) $(CONFIG)
$(OBJ):$(SRC)
$(CC) $(SRC) -o $(OBJ) -c $(CONFIG)