嵌入式课程拓展-------第四周

1.Makefile
GNU make的工作分为两个阶段。在第一阶段,make读取makefile文件、内置变量及其值、隐含规则和具体规则、构造所有目标的依赖关系以及所有目标各自的依赖等。在第二阶段,make决定需要重新构造的目标并使用必要的规则进行工作。
make工作第一阶段发生的扩展是立即扩展,直接把变量和函数扩展为makefile文件语句的一部分。make工作第二阶段发生的扩展称为延时扩展。
2. makefile命令的使用
-Cdir :在读入makefile之前,把路径切换到dir下。如果同时使用几个‘-C’选项,则eachis interpreted relative to the previous one。
-d :在正常处理后打印调试信息。
-e :设置环境变量的优先权高于makefile文件变量的优先权。
-ffile :将file设置为makefile文件。
-i :忽略在执行重建文件命令时产生的所有错误。
-Idir :指定搜寻makefile文件的路径。如果同时使用几个‘-I’选项,则按照次序搜寻这些路径。
-k :在出现错误后,尽可能的继续执行。也就是说当一个目标创建失败后,所有依靠它的目标文件将不能重建,而这些目标的其它依赖则可继续处理。
-n :打印要执行的命令,但却不执行它们。
-ofile :即使文件file比它的依赖旧,也不重建该文件。
-p :打印数据库,其中的数据来自读入makefile文件的结果;打印之后执行。
make –qp 打印数据库后不执行。
make –p –f/dev/null 打印预定义的规则和变量的数据库。
-q :不打印也不执行命令。如果所有目标都已经更新到最新,make的退出状态是0;如果一部分需要更新,退出状态是1;如果make遇到错误,退出状态是2。
-r :禁止使用预定义的隐含规则,同时也清除了缺省的后缀列表和后缀规则。注意缺省的变量仍然有效。
-R :禁止使用内建的规则变量。‘-R’自动使‘-r’生效。
-s :不回显执行的命令。
-S :使‘-k’失效。除非在递归调用make时,通过变量MAKEFLAGS从上层make继承‘-k’,或环境中设置了选项‘-k’,否则没有必要使用该选项。
-t :标记文件已经更新到最新,但实际却没有更新它们。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值