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

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.