makefile内置函数和变量

函数

内置函数

表3 GNU make内置函数

函数原型功能描述样例
$(filter pattern..., text)filter将text视为一系列被空格隔开的单词,与pattern比较之后,接着会返回符合的单词列表$(gui_objects): $(filter gui/%.o, $(objects))
$(filter pattern...,text)filter-out函数用来选出与模式不相符合的单词to_compile := $(filter-out %.h, $(all_source))
$(findstring string..., text)此函数将会在text搜索string。如果该字符串被找到了,此函数就会返回string;否则,返回空值。$(findstring /tom/book/zeuux, $(PWD))
$(subst search-string, replace-string, text)常用来在文件名列表中将一个名换成另外一个扩展名,不带通配符功能objects := $(subst .c, .o, $(sources))
$(patsubst search-pattern, replace-pattern, text)replace-pattern中的%被扩展成与模式相符的文字,且search-pattern必须与text的整个值进行匹配strip-trailing-flash = $(patsub %/,%,%(directory-path))
$(words n, text)返回text中第n个单词$(words 2, $(version_list))
$(sort list)排序list参数并移出重复的项目d-prefix = $(sort dbase db2 mysql)
$(shell command)执行command命令stdout := $(shell echo normal message)
$(wildcard pattern...)wildcard函数的参数是一份模式列表,它会对列表中的每个模式进行扩展的动作。如果找不到相符的文件,返回空字符串source := $(wildcard *.c *.h)
$(suffix name...)返回参数中每个单词的后缀same-suffix = $(filter 1 $(words $(sort $(suffix $1))))
$(basename name...)返回文件名称中不含后缀的部分$(basename $1)


自动变量含义
$@工作目标的文件名
$%档案文件成员结构中的文件名
$<第一个必要条件的文件名
$^所有必要条件的文件名,用空格隔开
$+所有必要条件的文件名,用空格隔开,包括重复的文件名
$*工作目标的主文件名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值