Existe uma maneira de obter parte do diretório da variável no make?

Existe uma maneira de obter parte do diretório da variável no make?

Eu tenho o makefile, onde defino alguma lib e seu caminho:

MY_LIB= dir/lib

Agora eu sei que posso usar @D para obter parte do diretório do destino:

#This will go to dir
$(MY_LIB):
    cd $(@D)

Mas quero usar a parte do diretório MY_LIB em outro destino:

$(TARGET):
    doSomething $(INSERT_MY_LIB_DIR_HERE)

Como eu posso fazer isso?

Responder1

você tem o componente $(basename $path)for filename e $(dir $path)for dir

Responder2

Se você estiver usando Linux, muito provavelmente você está usando GNU make. Isso tem umdirfunção. Então você poderia ter uma regra como

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

(Não encontrado emMarca POSIX—outras implementações podem ter extensões semelhantes).

informação relacionada