makefile 问题备忘

一.备忘
1.
clean :
-rm edit $(objects)
而在rm命令前面加了一个小减号的意思就是,也许某些文件出现问题,但不要管,继续做后面的事。


2.通配符匹配只能在规则里面或者命令里面,变量里面不能直接使用通配符,只能够使用函数来做这些事情比如wildcard。


3.vpath


4. .c.o 
注意其中的 .c.o ,其实是 和 %o:%c 等价。是一个旧格式


5.$(var:<pattern>=<replacement>)
此格式的变量,将本来变量$var里面的pattern替换成replacement
相当于“$(patsubst %<suffix>,%<replacement>,$(var))”这个函数。
比如$var=foo.c abc.c
obj = $(var:.c=.o) 会将obj的值变为
obj = foo.o abc.o


6.伪目标
特殊的指明这是一个标签不是一个目标文件。因为可能出现我编译的目标里面有一个目标文件名字确实就是clean。
所以加上PHONY说明我下面定义的这个是一个伪目标只是一个标签,不需要生成,只需要执行命令
.PHONY : clean
clean :
-rm edit $(objects)


二.函数
2.1 跟字符串有关系的函数
subst patsubst strip findstring filter filter-out sort word wordlist words firstword




2.2 文件有关系的函数
1.dir notdir suffix basename addsuffix addprefix join
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值