gpt4 book ai didi

makefile - 如何从 GNU make 的单词列表中删除多个不同的扩展名?

转载 作者:行者123 更新时间:2023-12-03 13:53:42 40 4
gpt4 key购买 nike

我有一个文件名列表:

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对方
  • 最佳答案

    很简单,就是:

    NAMES = $(basename $(FILES))

    参见 Functions for File Names 上的 GNU make 手册部分

    关于makefile - 如何从 GNU make 的单词列表中删除多个不同的扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767575/

    40 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com