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)파일 이름과 $(dir $path)dir 구성 요소 가 있습니다 .

답변2

Linux를 사용한다면 대부분 GNU make를 사용하고 있을 것입니다. 하나 있다dir기능. 그래서 이런 규칙을 가질 수 있습니다

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

(다음에서 찾을 수 없습니다.POSIX가 활성화됩니다.--다른 구현에도 비슷한 확장이 있을 수 있습니다.)

관련 정보