make의 변수에서 디렉토리 부분을 가져오는 방법이 있습니까?

make의 변수에서 디렉토리 부분을 가져오는 방법이 있습니까?

나는 일부 lib와 해당 경로를 정의하는 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 만들기—다른 구현에도 비슷한 확장이 있을 수 있습니다).

관련 정보