2010-02-18 2 views
2

C에서 메이크 파일을 작성하려면 어떻게해야합니까? rcv & ranlib 속성을 사용하면 어떤 이점이 있습니까? 명확하게 설명하십시오.c 메이크 파일 rcv ranlib

샘플 코드 : 우리는이 예에서 RCV & 대한 ranlib를 사용하는 이유

LIBTARGET= myfile.a 

$(LIBTARGET): $(LIBOBJS) 
    $(AR) rcv $(LIBTARGET) $? 
    ranlib $(LIBTARGET) 

아무도 설명 할 수 있습니까?

+2

질문하신 질문이 너무 광범위합니다. 너는 물건을 좁히기 위해 약간의 조사를 할 필요가 있을지도 모른다. –

+1

makefile은 C가 아닌 자체 언어로 작성됩니다. 'ar'명령의 'rcv'옵션은 'replace', 'create if needed and' 'verbose'를 의미합니다. 요즘, 'ranlib'은 일반적으로 아무것도하지 않는 프로그램입니다. 왜냐하면 'ar'프로그램이 필요한 것을 수행하기 때문입니다. 옛날에 'ar'은 'ranlib'이하는 일을하지 않았으며 'ranlib'또는 'lorder'+ 'tsort'- 유용한 라이브러리를 만드는 데 필요했습니다. –

답변

2

이 질문에 대한 이전의 시도 중 하나에 대해서는 이미 arranlib에 대해 썼습니다.

ar은 일반적으로 $(AR) 변수가 ar을 가리키는 것처럼 아카이브 (C 라이브러리는 라이브러리)를 만듭니다.

rcvar입니다 (자세한 내용은 man ar 참조).

ranlib은 아카이브에 색인을 생성합니다. 색인화되지 않은 아카이브는 라이브러리로 사용할 수 없습니다.