Eliminar prefijo con make
¿Hay alguna manera de eliminar un prefijo de una cadena (un nombre de ruta en mi caso) en make
?
Como ejemplo, supongamos que tengo la cadena:
FILES = a/b/c.d a/b/e.f
Quiero quitar el a/
, y quedar con b/c.d b/e.f
He intentado usar varias combinaciones de dir
, notdir
y basename
del GNU make manual, pero ninguno 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: {[12]]}
$( join $(basename $(dir $(FILE))), $(notdir $(FILE)) )
Que es realmente feo y largo aliento. Lo que realmente necesito es algún tipo de función $(removeprefix ...)
. Suponiendo que conozco el prefijo (a/
) a eliminar, ¿se puede hacer esto con algún tipo de manipulación de cadenas?
2 answers
Usted puede quitar un líder a/
con
$(FILE:a/%=%)
Vea la referencia de la función de sustitución de texto para más opciones y detalles.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-24 16:28:15
Ya que dices GNU make, ¿por qué no solo:
$(FILE:a/%=%)
?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-24 16:28:24