출처 : http://www.misofruit.co.kr/seojewoo/programming/mobileprogramming/linuxprogramming.htm


- 윈도우에서 사용하는 용어는 빨간색으로 표시함... -

.so .rpm .a .pro .lo .o .la .am .in .target .ac .in configure make progen 궁금한거...

☞ .o -->컴파일해서 만들어지는 오브젝트(object)파일
    ex) gcc -o test test.c     gcc test.c -o test    -->test라는 실행파일 생성
    ex) gcc -c test.c    -->.o (object)파일 생성... .obj파일... 

☞ .a -->archive를 의미하는 것 정적 라이브러리
☞ .so -->x-shared-library 동적(공유) 라이브러리

정적 라이브러리는 윈도우의 .lib   컴파일시에 로딩
동적 라이브러리는 윈도우의 .dll    runtime시에 로딩
동적 라이브러리는 a.out는 *.sa,ELF는 *.so로 만들어짐...

 ex) #ldd  파일 이름.... 특정 바이너리 파일의 필요한 라이브러리 목록 보기...
       #ldd /usr/bin/lynx   텍스트용 웹 브라우저인 lynx프로그램이 어떤 동적 라이브러리를 원하는 프로그램인지 체크하는 명령어

☞ .la -->x-shared-library-la

☞ .rpm -->윈도우의 install파일 같은거 아니 SDK라구 해야 할거 같습니다.
     ex) rpm -Uvh 패키지명  .rpm설치 명령
     ex) rpm -qlv   패키지명 .rpm 패키지가 설치될 해당 폴더와 내용보기
     ex) rpm -qi    패키지명  .rpm 패키지의 정보 보기...
     http://rpmseek.com 이곳에서 rpm검색하구 다운 받을 수 있음...

☞ .in .ac-->autoconf 에서는 입력값으로 configure.in을 사용하였으나, .in은 configure의 입력값으로 사용되고 있기 때문에 오해를
    피하기 위해서 현재는 configure.ac를 사용하게 되었다구 합니다.
    주로 *.in 파일들은 configure의 입력값으로 취급되고 있으며, 이 파일들이 configure과정을 거쳐서 실제 원하는 파일이 됩니다.
    예를 들어서 script.in이라는 파일은 configure를 거쳐서 script라는 파일이 될 수 있습니다. 따라서 configure.in을 구분하기 위해
    현재는 configure.ac 라고 부르게 되었다구 합니다.
    윈도우에서는 컴파일러에게 옵션 같은거루 알려주는 거 같은데... 무슨 파일인지는 잘 모름...
    다시 말해서 Makefile파일이 .dsw 같은 총괄하는 건데 이게 실행이 되기 위해서 도와 주는 거 같음...

    관련 사이트:
http://people.linuxkorea.co.kr/~yong/programming/autoconf
    -->autoconf는 패키지에서 필요로 하거나 사용하는 시스템 기능을 나열해 둔 템플릿인 configure.in으로부터 설정 스크립트를
         만들어내구 이걸 만들어 내기 위해서는 매크로 프로세서인 GNU m4가 있어야 한다.
         물론 당연히 autoconf패키지도 설치한 상태여야 하구...

 - 순서 - 뭔소린지?


1. configure.ac 에 Makefile 이 필요로 하는 사항들을 기록한다.

2. Makefile.am 에 이들 가변수를 사용하여 Makefile 의 초안을 작성한다.

3. configure 실행시에 configure.ac 에 지정한 항목들이 check 되면서 Makefile.am 에서 필요한 정보들이 유효한 값들로 치환된다.

4. Makefile.am 이 유효한 값들을 가지면서 Makefile 이 된다.

Posted by Real_G