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

posted @ 2017-05-19 20:37  郁兴力  阅读(124)  评论(0)    收藏  举报