Makefile들 분석 방법 문의

jazzsir의 이미지

꽤 큰 프로젝트 빌드 프로세스를 분석하려는데요.
Makefile들과 *.mk등 빌드관련 파일들만 임포트해서 분석하는 방법 없나요??
이놈에것들 어디서 선언됐는지 찾다보면
아.. 눈이 빠지고 머리가 빠게질것 같아요.
여러분들은 어떻게 하시는지 노하우좀 공유 부탁드립니다.

oosap의 이미지

저두 그렇게 고생고생 해왔었는데
최근에 autotools 를 알게 되면서 Makefile 이 인간이 만든게 아닐 수도 있다는 걸 알고 달리 보게 됐어요..

autotools 로 만들어진 Makefile이라면 configure.ac 와 Makefile.am 그리고 스크립트 파일만 분석하면 됩니다.

autotools 가 아니라도 비슷한 방법으로 기계적으로 Make 기술파일을 만들 것 같은데 이는 확신이 없네요... 짐작일 뿐... 하지만 방대한 Makefile 을 보면 인간이 한게 아니란 강한 의심이 듧니다.

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

jazzsir의 이미지

openWRT입니다.
u-boot, 커널, 파일시스템 이렇게 컴파일 환경을 나눠서 SVN에 올릴려고 하는데
제가 초짜라 분석이 만만치 않네요..
u-boot에서 헤매고 있습니다요. 아이고~ ^^;;

oosap의 이미지

제가 답변은 달았지만 알고보면 하수입니다. ^^;
저도 더 자세한 답변 드리지 못해 죄송합니다....
openWRT 를 잘 아시는 분이 답변 좀 해주시면 좋겠네요..

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

jazzsir의 이미지

아니예요. 답글 감사합니다.~ ^^

suapapa의 이미지

다음과 같이 alias를 하나 만들어 두고;

alias mkgrep='find . -type f -name "*\.mk" -print0 | xargs -0 grep --color -n '

사용하고 있습니다.

$ mkgrep libc

또, 단일 프로젝트인 경우, 컴파일 명령만을 보는 것;

$ make -n (dryrun)

으로 생각대로 make 스크립트가 돌아가고 있는지 확인하고 있습니다.

하지만 저 역시 프로젝트가 커지면 한 눈에 잘 들어오질 않아요. 좀 더 좋은 팁 있으신 분?

jazzsir의 이미지

아주 편리한데요~ 감사합니다.~ㅎㅎㅎ

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.