makefile学习

Makefile中最重要的三个概念是:目标(target),依赖关系(dependency)和命令(command)。

目标(target):就是要做什么;

依赖(dependency):即完成目标所依赖的关系;

命令(command):make完成目标,所需要执行的命令。


makefile中的“\”,即反斜杠是换行的意思。

假目标采用.PHONY关键字来定义,注意必须是大写字母。


自动变量:

$@:用于表示一个规则中的目标。当一个规则中有多个目标时,$@所指的是其中任何造成规则命令被运行的目标。

$^:表示的是规则中的所有先决条件。

$<:表示的是规则中的第一个先决条件。


特殊变量:

MAKE:表示当前处理Makefile的命令名是什么;

MAKECMDGOALS:指的用户输入目标;


变量的类别:

= :递归扩展变量;

+= :简单扩展变量;


makefile常用函数:

abspath函数,其形式:$(abspath _names),将_names中的各路径名转换成绝对路径,并将转换后的结果返回。

addprefix函数,其形式:$(addprefix _prefix, _names),将名字列表_names中的每一个名字增加前缀_prefix,并将增加了前缀的名字列表返回。

addsuffix函数,其形式:$(addsuffix _suffix, _names),将名字列表_names中的每一个名字增加后缀_suffix,并将增加了后缀的名字列表返回。

filter函数,其形式:$(filter _pattern, _text),从一个名字列表_text中根据模式_pattern得到满足需要的名字列表并返回。

filter-out函数,其形式:$(filter-out _pattern,_text),从名字列表_text中根据模式_pattern过滤一部分名字,并将过滤后的列表返回。

not-dir函数,其形式:$(not-dir _names),从路径_names中获取文件名,并将文件名返回。

wildcard函数,其形式:$(wildcard_pattern),获取当前目录中满足_pattern模式的文件或目录名列表。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值