make 구문중 해석안되는 부분 좀 알려주세요.

s97083의 이미지

안녕하세요

make 사용해서 컴파일을 해야 되는데 계속 디렉토리 못찾는 다는 에러가 나오고 있습니다.
디버깅을 하고 하고 싶어도 make에서 디버깅을 어떻게 해야될지 몰라서요.

아래 부분이 make의 첫부분입니다. 여기서 디렉토리가 결정나는거 같은데
__updirs는 단순 변수같고 if $(1) 여기서부터 모르겠습니다.
$(call _updirs, 는 자기 자신을 부르는것 같고 patsubst 는 / 가 나오면 없애라 인거 같은데
뒤에 $(1:..=) 부분이 이해가 가지 않습니다.
그리고 firstword 하고 wildcard, addsuffix 이건 어떻게 해석을 해야 하나요.
고수분 부탁드립니다. 아래 부분 같은건 찾아서 공부하기도 너무 어렵습니다.

__updirs=$(if $(1),$(call __updirs,$(patsubst %/,%,$(1:..=))) $(1))
DEFINES_MIN=$(firstword \
$(wildcard $(addsuffix /make.d/defines.min, .\
$(call __updirs,../../../../../../../../../../../../../..))))

include $(DEFINES_MIN)

에러 내용

make.d/defines.min:10: /make.d/defines.min: No such file or directory
make.d/defines.min:35: ../../.././make.d/site/defines_vc7.min: No such file or d
irectory
make.d/defines.min:36: ../../.././make.d/site/defines_vs8.min: No such file or d
irectory
make.d/defines.min:37: ../../.././make.d/site/defines_rvct22.min: No such file o
r directory
make.d/defines.min:38: ../../.././make.d/site/defines_lint.min: No such file or
directory
make: *** No rule to make target `../../.././make.d/site/defines_lint.min'. Sto
p.

bushi의 이미지

http://www.gnu.org/software/make/manual/html_node/Substitution-Refs.html#Substitution-Refs

http://www.gnu.org/software/make/manual/html_node/File-Name-Functions.html#File-Name-Functions

http://www.gnu.org/software/make/manual/html_node/Call-Function.html#Call-Function

make 의 man 페이지 읽어보시면 디버깅은 몰라도 트레이스 정도는 할 수 있는 옵션을 찾을 수 있습니다.
쏟아내는 양이 좀 압박스러울 뿐...

OTL