tutorial make makefile gnu-make

makefile - tutorial - Eliminar prefijo con make



makefile structure (2)

¿Hay alguna forma de eliminar un prefijo de una cadena (una ruta de acceso en mi caso) en make ?

Como ejemplo, supongamos que tengo la cadena:

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

Quiero eliminar la a/ y quedarme con b/cd b/ef

He intentado usar varias combinaciones de dir , notdir y basename del manual GNU make , pero ninguna parece proporcionar una buena solución.

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

La única manera que he encontrado para hacer esto hasta ahora es:

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

Que es realmente feo y de largo aliento. Lo que realmente necesito es algún tipo de función $(removeprefix ...) . Suponiendo que conozco el prefijo ( a/ ) que se va a eliminar, ¿se puede hacer esto con algún tipo de manipulación de cadenas?



Ya que dices que GNU hace, ¿por qué no simplemente?

$(FILE:a/%=%)

?