makefile学习(二):makefile的结构

本文阐述了Makefile的基本结构,包括目标、依赖和命令,解释了其在编译过程中的作用,即定义源文件之间的依赖关系及生成可执行文件的方法。

2.makefile的结构

makefile的意义

  1. makefile用于定义源文件间的依赖关系
  2. makefile说明如何编译各个源文件并生成可执行文件

makefile的基本结构

targets (目标)
  1. 通常是需要生成的目标文件名
  2. make所需执行的命令名称

targets可以包含多个目标,使用空格对多个目标进行分隔。不带参数时,make将以文件中定义的第一个目标作为这次运行的目标。

prerequisites (依赖)
  1. 当前目标所依赖的其他目标或文件

prerequisites可以包含多个依赖,使用空格对多个依赖进行分隔。
当有多个依赖目标,make会按从左到右(指在同一规则中)和从上到下(指在不同规则中的)的先后顺序先构建一个规则中的。

command (命令)
  1. 完成目标所需要指向的命令

注意事项:[Tab]键:’\t’,每一个命令行必须以[Tab]字符开始,因为[Tab]字符告诉make此行是一个命令行

targets : prerequisites
‘ \t’  command

makefile的依赖规则

  1. 当目标对应的文件不存在,执行对应命令
  2. 当依赖在时间上比目标更新,执行对应命令
  3. 当依赖关系连续发生时,对比依赖链上的每一个目标

示例代码:简单的makefile

all test : name
    @echo "Hlleo,make"
    
name :
    @echo "Shaw"

输出结果:
“Shaw”
“Hlleo,make”

注:在echo前面加上@,意思代表不打印执行命令,否则会打印echo "Hlleo,make"和echo “Shaw”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值