¿Hay alguna manera de obtener parte del directorio a partir de la variable make?

¿Hay alguna manera de obtener parte del directorio a partir de la variable make?

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 undirfunción. Entonces podrías tener una regla como

$(TARGET):
    doSomething $(dir $(MY_LIB))

(No encontrado enmarca POSIX—otras implementaciones pueden tener extensiones similares).

información relacionada