Как удалить удаление разных расширений из списка слов в GNU make?

У меня есть список имен файлов:

FILES := a.b c.d e.f

и я хочу удалить расширения (суффиксы) всех слов, чтобы получить:

a c e

Каков наилучший способ сделать это?

Лучшее, что я мог придумать, было "обманывать" оболочкой:

$(shell for f in $(INS_NODIR); do echo -n "$${f%.*} "; done )

но я удивлен, что не было более "встроенного" способа сделать это только при создании встроенных функций.

вещь, которую я пробовал:

  • patsubst. Кажется, что он может иметь только один шаблон, другие обрабатываются буквально, и я хотел бы сделать что-то вроде %.%, %

  • ищет функцию notsufix.

    Я был удивлен, что этого не существует, поскольку функция dir имеет notdir, но функция suffix, которая точно извлекает расширения, не имеет notsuffix -компонента