makefile规则语法

通常规则的语法格式如下:
TARGETS : PREREQUISITES
COMMAND
...
或者是这样:
TARGETS : PREREQUISITES ; COMMAND
COMMAND
...

规则中“ TARGETS”可以是空格分开的多个文件名,也可以是一个标签(如执行清空的“clean”)。
“TARGETS”的文件名可以使用通配符。通常规则只有一个目标文件,偶尔会在一个规则中需要多个目标。

规则的命令部分有两种书写方式: 
a. 命令可以和目标:依赖描述放在同一行。命令在依赖文件列表后并使用分号和依赖文件列表分开。
b. 命令在目标:依赖的描述的下一行,作为独立的命令行。当作为独立的命令行时,此行必须以Tab字符开始。

备注:在 Makefile 中,在第一个规则之后出现的所有以[Tab]字符开始的行都会被当作命令来处理。

一个规则告诉“make”两件事: 
1. 目标在什么情况下已经过期; 
2. 在需要重建目标的时候,怎么样去重建这个目标。
目标是否过期是由规则的依赖文件所决定的。当目标文件不存在或者目标文件的最后修改时间比依赖文件中的任
何一个都晚,则目标就会被创建或者重建。也就是说执行规则命令行的前提条件是: 
(1)目标文件不存在; 
(2)存在一个依赖的最后修改时间比目标的最后修改时间晚。
规则的中心思想就是: 目标文件的内容是由依赖文件文件决定,依赖文件的任何一处改动,将导致目前已经存在的目标文件的内容过期。 规则的命令为重建目标提供了方法。这些命令运行在系统 shell 之上。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值