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 umdir
funçã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).