文章目录
Makefile 函数 subst 学习
subst是Makefile的一个内建函数,它用于在文本中替换字符串。subst
函数的语法如下:
$(subst from,to,text)
这个函数会在text
中找到所有的from
字符串,并将它们替换为to
。
下面是一个使用subst
函数的简单示例:
TEXT = foo.c bar.c baz.c
NEW_TEXT = $(subst .c,.o,$(TEXT))
all:
@echo $(NEW_TEXT)
在这个示例中,subst .c
,.o
,$(TEXT)
会将TEXT
中的所有.c
后缀替换为.o
。新的字符串被保存在NEW_TEXT
变量中。
当你运行make all时,将会在命令行中打印出foo.o bar.o baz.o
:
(*^~^*) ~/workbase/test> make all
foo.o bar.o baz.o
注意:subst
函数只进行字符串替换,它不会修改文件名或进行任何文件操作。如果你想要修改文件名或进行其他类型的替换,你可能需要在Makefile中调用外部的shell命令或脚本。