Part1.3 makefile工程管理工具
1.为什么使用Makefile
make指令依靠Makefile文件,用于快速得到二进制文件

规则:用于说明略好生成目标文件,规则格式如下

命令可以有多个,依赖是输入文件,目标是输出;
可以没有依赖,此时目标称为伪目标,必须用.PHONY标记出来,如上最后一段
如果想仅使用其中一部分命令得到某个中间目标,需要加上目标的名字,如make led.o
all说明会编译所有的目标(all:后面的),而如果仅使用其中一部分命令得到某个中间目标,则如上一条
如果只输入make,那么默认执行第一个规则。如果没有依赖,那么会去找另一条以依赖为目标的规则
Makefile规则:
1、变量
在一个Makefile中多次出现的组成部分或列表,可以用变量来替换 变量没有类型,直接赋值就行

系统还有默认变量
$^:代表所有依赖文件
$@:代表目标
$<:代表第一个依赖文件
2、通用规则
如果一个Makefile中有许多类似的规则,会合并为通用规则
比如都是X.o:X.s
arm-linux-gcc -g -c $@ -o $^
对这种命令相同,目标和依赖数量格式相同,就可以将它们写成
%.o:%.s
arm-linux-gcc -g -c $@ -o $^
就可以取代所有相同的规则,只要这一个就行
3、Makefile使用技巧——去回显
回显:在使用Makefile里面命令时,会输出相关的命令,然后才会执行命令
去掉很简单,就是在命令前面加上@符号
4、Makefile使用技巧——文件名
一般文件名为Makefile,可以用mv Makefile makefile将其改为小写的,都可以用make调用
不过可以使用 make -f 文件名 命令 ;来使用其他名字Makefile

浙公网安备 33010602011771号