subst详解
看着教材上的一个subst示例原样make一下,各种错误,找了好多的可能,终于解决了,坑死人了,记录下来。
subst是makefile文件中的字符串替换函数,用于将字符串的字符或子串替换成指定的内容,函数的返回值是替换后的字符串。使用的格式如下:
$(subst $(from),$(to),$(text))
该函数将$(text)中的$(from)字符或者是串替换成$(to)。在makefile中还需要注意不能在规则中对变量进行赋值,即不能写成如下形式:
ret:=
subst:
$(ret)=$(subst $(FROM),$(TO),$(STR))
@echo -n "the result is: "
@echo $(ret)
此时subst规则中包含赋值,会报错/bin/sh =$(ret) not found。应将赋值写于规则之外,如下:
ret:=$(subst $(FROM),$(TO),$(STR))
subst:
@echo -n "the result is: "
@echo $(ret)
阅读(2004) | 评论(0) | 转发(0) |