Подтвердить что ты не робот

Удалить префикс с помощью make

Есть ли способ удалить префикс из строки (путь в моем случае) в make?

В качестве примера предположим, что у меня есть строка:

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

Я хочу удалить a/ и оставить b/c.d b/e.f

Я попытался использовать различные комбинации dir, notdir и basename из GNU make manual, но ни один из них не выглядит обеспечивают хорошее решение.

$(dir $(FILE))      # a/b a/b
$(notdir $(FILE))   # c.d e.f
$(basename $(FILE)) # a/b/c a/b/e

Единственный способ, которым я нашел это до сих пор:

$( join $(basename $(dir $(FILE))), $(notdir $(FILE)) )

Это действительно уродливое и длинное. Мне действительно нужна какая-то функция $(removeprefix ...). Предполагая, что я знаю, что префикс (a/) должен быть удален, можно ли это сделать с помощью каких-либо манипуляций с строкой?

4b9b3361

Ответ 2

Поскольку вы говорите, что GNU make, почему не просто:

$(FILE:a/%=%)

?