Есть ли способ получить часть каталога из переменной в make?

Есть ли способ получить часть каталога из переменной в make?

У меня есть makefile, в котором я определяю некоторую библиотеку и путь к ней:

MY_LIB= dir/lib

Теперь я знаю, что могу использовать @D для получения части каталога из цели:

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

Но я хочу использовать часть каталога MY_LIB в другой цели:

$(TARGET):
    doSomething $(INSERT_MY_LIB_DIR_HERE)

Как мне это сделать?

решение1

у вас есть компонент $(basename $path)for filename и $(dir $path)for dir

решение2

Если вы используете Linux, скорее всего, вы используете GNU make. У этого естьdirфункция. Так что вы могли бы иметь правило типа

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

(Не найдено вPOSIX-сделать— другие реализации могут иметь похожие расширения).

Связанный контент