Makefile Learing (下)

Makefile Learing  (下)

 

 

Part 10   make的运行

 

1.make退出码

2.指定Makefile

  命令: make  -f  hchen.mk

3.指定目标

  可以手动指定编译的目标

      例如: make  clean

  常用规范的 伪目标

  1.all    这个伪目标是所有目标的目标

  2.clean   用于删除所有创建的文件

4.检查规则

  用于检查我们的命令,或者执行的序列。参数如下:

  -n   只是打印命令,不执行,不管目标是否更新

  -t   把目标文件的时间更新,变为已编译的状态

  -q   如果目标存在,它什么都不会输出,如果不存在,则返回一条错误

5.make的参数

  -b  -m  这两个参数的作用是忽略其他版本make的兼容性

  -B      认为所有的目标都需要更新(重编译)

  -C      指定makefile的目录

  -d      输出所有的调试信息

  -h      显示帮助信息

  -s      在运行的时候不显示命令

 

 

Part 11   隐含规则

 

1.使用隐含规则

  自动推导会帮助完成 .o 文件的推导

2.隐含规则一览

  我们可以使用-r选项来取消所有与设置的隐含规则(某些隐含规则还是会生效)

  编译C语言程序的隐含规则:

      .o 的目标的依赖目标会自动推导为 .c   

      生成命令为  $(CC) c  $(CPPFLAGS)  $(CFLAGS) 

3.隐含规则使用的变量

  常用的 CC  CFLAGS

  可以   CC = gcc

         CFLAGS = -g

  这样就可以使用gcc来编译程序,并且携带调试信息

4.隐含规则链

5.定义模式规则

  一个模式规则中,目标的定义需要有 % 字符

  % 表示一个或者多个任意字符    其展开发生在变量和函数的展开之后

  目标模式中的 % 决定了依赖目标中 % 的样子

  如果有模式匹配出了多个目标,make就会产生所有的模式目标

  <自动化变量>

       $@  匹配目标中模式定义的集合

       $<   依赖目标中第一个目标的名字,如果依赖目标是 % 定义的, 那么将是符合

            模式的一系列的文件集合

       $^   所有依赖目标的集合  会去除重复的目标

  

  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值