我有一个文件名列表:
FILES := a.b c.d e.f
我想删除所有单词的扩展名(后缀)以获得:
a c e
最好的方法是什么?
我能想到的最好的办法就是用 shell“作弊”:
$(shell for f in $(INS_NODIR); do echo -n "$${f%.*} "; done )
但令我惊讶的是,没有一种更“内置”的方式仅使用 make 内置函数来执行此操作。
我试过的东西:
patsubst
. 似乎它只能有一个通配符,其他通配符按字面意思对待,我想做类似的事情%.%, %
寻找一个
notsufix
功能。我很惊讶这不存在,因为该
dir
函数有notdir
对应的,但是suffix
精确提取扩展的函数没有notsuffix
对应的