Makefile

本文详细介绍了Makefile的使用,包括make命令格式、实目标与虚拟目标的区别、规则的创建,特别是模式规则和后缀规则。重点讲解了变量的立即展开与延迟展开,以及变量引用的多种方式。此外,还阐述了shell环境变量的使用和自动变量的功能,如$@、$^、$<等。最后,文中提到了注释的处理方式以及一些使用Makefile时的常见陷阱和特殊命令。
摘要由CSDN通过智能技术生成

make 命令格式

make [options] [targert1 target2 …]

选项有:

  • -d 输出debug信息
  • -p打印makefile所有规则,包括系统内置变量和潜规则
  • -k最大可能地去更新目标,这样在遇到第一个错误后继续往后执行
  • -n 打印需要更新目标对应的action,不执行

实目标与虚拟目标

  • 一般情况下,规则中的目标名要与生成的文件名对应,成为实目标
  • 有些目标名并不生成任何虚拟文件,称为虚拟目标(Phony Targets), 这个时候只要执行命令,规则一定执行,因为虚拟目标没有更新日期。

    如果碰巧当前目录下存在一个文件名与虚拟目标对应,使虚拟目标成为实目标。为了避免出现这种情况,使用语句:
    .PHONY:targetName

规则

  • 一般规则(显规则Explicit Rules)
target:components 
	rule

第一行表示的是依赖关系,第二行是规则,特别要注意,rule这行必须是TAB键开头。

  • 更新规则:对于实目标,比较依赖文件和目标文件的更新时间,如果前者更新,则需要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值