make시 명령 실행 조건에 관한 질문.

mepeace의 이미지

안녕하십니까 ?

Redhat Linux 9을 PC i686에 설치하여
Makefile을 이용한 gcc를 사용하고 있습니다.

문제가 되는 Makefile에서 내용의 일부를 발췌하면
libA.a : A_linux.o
ar -r libA.a A_linux.o
위 2줄의 내용은 A_linux.o가 libA.a 보다 최근 시간이면
ar 명령을 수행하는 것이라 알고 있습니다.
최근 시간의 조건이 libA.a 변경 시간 < A_linux.o 변경시간인 경우입니다.

linux에서 파일의 변경시간은 2003-12-02 17:39:23.000000000 +0900
와 같이..초단위가 최소입니다. A_linux.o와 libA.a가 동일한 시간 (같은 초)에
생성되는 경우에는 최근 시간의 조건에 맞지 않아서... ar 명령이 수행이 안됨.

어떻게 하면 A_linux.o와 libA.a가 동일한 시간 (초) 에 생성된 파일에서도
ar 명령어가 수행할 수 있을까요 ? [질문]

가능한 해결 시나리오는
1. make에서 최근 시간 조건을 libA.a 변경 시간 <= A_linux.o 변경시간
으로 하는 방법 (어떻게 하나요 ?..make에서 사용하는 옵션은 ?)
2. 파일 변경시간을 초 이하로 설정할려고 합니다. (어떻게 하나요 ?..
설정하는 방식 및 옵션은 ?)
3. 기타 방법.

상기 해결 시나리오를 구현하는 방법은 무엇인지 알려주시기 바랍니다.
man make, man ls, info make, info ls등을 숙독하였으나..원하는
해답을 얻지 못했습니다.

도와주시기 바랍니다...답글에 대하여 미리 감사드립니다.

지리즈의 이미지

mepeace wrote:
libA.a : A_linux.o
ar -r libA.a A_linux.o

시간으로 해결하지 마시고... 미리 삭제해버리면 됩니다.

A_linux.o : ....
rm -f libA.o

There is no spoon. Neo from the Matrix 1999.

mepeace의 이미지

현재 libA.a를 지울수 없는 상황입니다...

방준영의 이미지

mepeace wrote:
어떻게 하면 A_linux.o와 libA.a가 동일한 시간 (초) 에 생성된 파일에서도
ar 명령어가 수행할 수 있을까요 ? [질문]

A_linux.o가 어느 소스 파일에 의존하는지 규칙이 없기 때문에 나타나는 결과입니다. 예를 들어 A_linux.o가 A_linux.c를 컴파일한 결과라면, 의존성에 따라 A_linux.c를 변경하면 libA.a도 자동으로 갱신됩니다. 따라서 A_linux.o와 libA.a가 동일한 시각에 만들어졌다고 해서 문제가 되지는 않습니다.
지리즈의 이미지

sleep을 쓰세요...

man sleep

There is no spoon. Neo from the Matrix 1999.

방준영의 이미지

지리즈 wrote:
sleep을 쓰세요...

man sleep


노...농담이시겠죠? 8)

댓글 달기

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