0K6410学习之初识Makefile

之前在看国嵌的视频的时候也接触过makefile,但是好多东西就是这样学过之后就忘记了,根本原因就是自己不会总结或者说自己没有总结,所以做了很多无用功,一味的去深究一些无关痛痒的东西。扯远了,废话不多说,为了分解uboot,我踏上了学习makefile的道路,步入正题!

一、             
makefile的组成

 

 

 

 

更为详细的描述,也就是下面的格式:

target ... : prerequisites ...

<tab 键>command

...

...

针对这个格式,给出一个例子相信有助于了解:

hello:a.o b.o c.o d.o

     gcc a.ob.o c.o d.o –o hello

a.o: a.c  

     gcc -c  a.c

b.o: b.c  

     gcc -c  b.c

c.o: c.c  

     gcc -c  c.c

d.o: d.c  

     gcc -c  d.c

.PHONY:clean

Clean:

     Rm –f hello a.o b.o c.o d.o

对于上述makefile有几个知识点。.PHONY是表示伪目标,伪目标就是指那些没有任何依赖只有执行命令的目标,接下来,我们还可以使用变量来指定makefile。

还是上面那个例子:

Object =  a.o b.o c.o d.o

hello:$(Object)

     gcc $(Object)–o hello

a.o: a.c  

     gcc -c  a.c

b.o: b.c  

     gcc -c  b.c

c.o: c.c  

     gcc -c  c.c

d.o: d.c  

     gcc -c  d.c

.PHONY:clean

Clean:

     Rm –f hello $(Object)

这里的变量的引用类似于引进C语言里面的宏命令,从而可以很方便的对编译规则进行修改

这只是对makefile初步的学习,给出下面一张图表

Makefile的组成

 

 

 

 

 

 


1、显式规则。说明了如何生成一个或多的的目标文件。

2、隐晦规则。可以让我们比较粗糙地简略地书写 Makefile ,这是由 make 所支持的,对于现阶段的我来说了解即可。

3、变量定义。在 Makefile 中我们要定义一系列的变量,变量一般都是字符串,之前就说过了,这个有点C 语言中的宏,当 Makefile 被执行时,其中的变量都会被扩展到相应的引用位置 上。

4、文件指示。其包括了三个部分,一个是在一个 Makefile 中引用另一个 Makefile。

5、注释。makefile 中只有行注释,和 UNIX 的 Shell 脚本一样,其注释是用“#”字符,这 个就像 C中的“//” 一样。如果你要在你的Makefile 中使用“#”字符,可以用反斜框 进行转义,如:“\#”。

Makefile初步学习就到这里了,以后有机会就继续学吧,接下来就是解剖make_config了。

待续。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值