相关疑难解决方法(0)

用make删除前缀

有没有办法从字符串中删除前缀(在我的情况下是一个路径名)make

举个例子,假设我有字符串:

FILES = a/b/c.d a/b/e.f
Run Code Online (Sandbox Code Playgroud)

我想删除a/,并留下b/c.d b/e.f

我一直在使用的各种组合尝试dir,notdirbasenameGNU使手动,但没有似乎提供了一个很好的解决方案.

$(dir $(FILE))      # a/b a/b
$(notdir $(FILE))   # c.d e.f
$(basename $(FILE)) # a/b/c a/b/e
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现这样做的唯一方法是:

$( join $(basename $(dir $(FILE))), $(notdir $(FILE)) )
Run Code Online (Sandbox Code Playgroud)

哪个真的很难看,也很啰嗦.我真正需要的是某种$(removeprefix ...)功能.假设我知道a/要删除的prefix(),可以通过某种字符串操作来完成吗?

makefile gnu-make

31
推荐指数
2
解决办法
2万
查看次数

标签 统计

gnu-make ×1

makefile ×1