Tengo un archivo MAKE, donde defino alguna biblioteca y su ruta:
MY_LIB= dir/lib
Ahora sé que puedo usar @D para obtener parte del directorio del destino:
#This will go to dir
$(MY_LIB):
cd $(@D)
Pero quiero usar la parte del directorio de MY_LIB en otro destino:
$(TARGET):
doSomething $(INSERT_MY_LIB_DIR_HERE)
¿Cómo puedo hacer eso?
Respuesta1
tienes el componente $(basename $path)
for filename y $(dir $path)
for dir
Respuesta2
Si estás usando Linux, muy probablemente estés usando GNU make. eso tiene undir
función. Entonces podrías tener una regla como
$(TARGET):
doSomething $(dir $(MY_LIB))
(No encontrado enmarca POSIX—otras implementaciones pueden tener extensiones similares).