Makefile工具

Makefile是工程管理的一个工具,是嵌入式linux工程师必备的技能,Makefile使在linux整个程序的编译链接只需一个make命令就可以。那么Makefile文件是一个什么样的文件?下面对其文件内容做一个说明,Makefile文件描述了整个程序的编译链接规则,其内容主要有变量和规则两部分组成,规则是其最重要的部分。例如下面一条规则

     xxx.elf:xxx.o

              arm-linux-ld   -Txxx.lds  -o xxx.elf    xxx.o

   

xxx.elf 称作目标   xxx.o 称作依赖,依赖可以有多个。

在Makfile中只有命令而没有依赖的目标称作伪目标(phony target) 例如


.PHONY : clean

        clean :

rm -f   xxx.o    xxx.o    xxx


      " .PHONY : " 用于将clean声明为伪目标。

     文件含有多条规则时,可以用make +目标的方法单独执行该条规则,若没有指定规则,则会默认执行第一条规则,第一条规则中的目标称为最终目标。


在Makefile中系统自带了一些变量 例如 :

         $^   代表所有的依赖文件

        $@  代表目标

         $<   代表第一条依赖


除了系统自带的变量外,用户可以自定义变量,例如

使用变量前

        xxx.elf: aaa.o   bbb.o

         arm-linux-ld   -Txxx.lds  -o xxx.elf    aaa.o   bbb.o

       使用变量后

obj=aaa.o bbb.o

  xxx.elf: $(obj)

         arm-linux-ld   -Txxx.lds  -o xxx.elf    $(obj)


合理使用变量可以增强Makefile文件的可读性


最后加一点Makefile文件的使用技巧

# 注释符

@加在规则前可以去回显

make命令默认调用的文件为 Makefile 或makefile 当然我们也可以使用其他的文件名 使用方法 make -f FileName




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值