打印

Makefile基本知识

[复制链接]
133|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冰糖炖雪梨|  楼主 | 2018-9-30 07:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
规则



    目标(target)... : 依赖(prerequiries) ...

    <tab> 命令(command)



赋值方式

   

   

a = b

a ?= b

a := b

a += b

define a

b

endif





常用函数



> 字符串替换和分析函数



    $ (subst from,to,text):在文本text中使用 to 替换每一处 from



    $ (patsubst pattern,replacement,text ) :寻找 text 中符合格式 pattern 的字,用 replacement 替换它们,pattern 和 replacement 可以使用通配符



    $ (strip string): 去掉前导和结尾空格并将中间的多个空格压缩为一个空格



    $ (findstring find,in):在字符串 in 中寻找 find,如果找到,返回 find,否则返回值为空



    $ (filter pattern...,text):返回在 text 中由空格隔开且匹配格式 pattern 的字,去掉不符合 pattern 的字



    $ (filter-out pattern...,text):返回在 text 中由空格隔开且匹配格式 pattern 的字,去掉符合 pattern 的字



    $ (sort list):将 list 中的字按字母顺序排列,并去掉重复的字,输出由单个空格隔开的字的列表



>文件名函数



    $ (dir names…): 抽取 names… 中每个文件名的路径部分



    $ (notdir names…): 抽取 names… 中每个文件名的路径外的一切字符



    $ (suffix names…): 抽取 names… 中每个文件名的后缀



    $ (basename names…): 抽取 names… 中每个文件名除后缀外的部分



    $ (addsuffix suffix,names…):参数 names… 是一系列文件名,文件名之间用空格隔开;suffix 是一个后缀名;将后缀的值附加在每个独立的文件名后,完成后将文件名串联起来,它们之间用单个空格隔开



    $ (addperfix perfix,names…):参数 names… 是一系列文件名,文件名之间用空格隔开;perfix 是一个前缀名;将前缀的值附加在每个独立的文件名后,完成后将文件名串联起来,它们之间用单个空格隔开



    $ (wildcard pattern):参数 pattern 是一个文件名格式,包含有通配符;函数 wildcard 的结果是一列和格式匹配且真实存在的文件的名称,文件名之间用单个空格隔开



>其他函数



    $ (foreach var,list,text)



    $ (if condition,then-part[,else-part])



    $ (origin variable)



    $ (shell command arguments)

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

430

主题

436

帖子

0

粉丝