você tem o $(basename $path)
para o nome do arquivo e $(dir $path)
para o componente dir
Eu tenho makefile, onde defino um pouco de lib e seu caminho:
MY_LIB= dir/lib
Agora sei que posso usar @D para obter a parte do diretório do destino:
#This will go to dir
$(MY_LIB):
cd $(@D)
Mas eu quero usar a parte do diretório de MY_LIB em outro destino:
$(TARGET):
doSomething $(INSERT_MY_LIB_DIR_HERE)
Como posso fazer isso?
Se você estiver usando Linux, muito provavelmente você está usando o GNU make. Isso tem uma função dir
. Então você poderia ter uma regra como
$(TARGET):
doSomething $(dir $(MY_LIB))
(Não encontrado em POSIX make - outras implementações podem ter extensões similares).