티스토리 툴바

블로그 이미지
상상의공간
개발자란...

calendar

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Notice

'Study/Embaded Linux'에 해당되는 글 24

  1. 2010/06/13 Make에 대하여~(1)
2010/06/13 14:35 Study/Embaded Linux

Make라는 것은 왜쓴다?
메이크는 일괄 컴파일을 할수 있겠금해주는 유틸리티이다
여러분들이 소스를 받아서 라이브러리 헤더 원시파일등이 어디에 있는지
어디에 설치해야되는지

make cofing 은 어떤 옵션을 줄것인가
make        의존성 생각해서임시로 만들어봄
make celan 모듈 라이브러리 제거
make zimage 커널을 만들고 앞축하고 설치
make z lolo 
make bz limage 압축을 하데 bzip으로압출


150페이지에 있다.
Makefile을 다음과 같이 만들면

compile :
     gcc -o hello hello.c say_hello.c

make compile 하면 타겟에 해당하는 내용을 실행한다.
================================
Makefile을 다음과 같이 만들면
install : 
     mv hello /usr/local/bin

compile :
     gcc -o hello hello.c say_hello.c

make compile을 실행한후에  make install을 한다.
왜냐하면  hello파일이 없다.
그러므로 컴파일이 우선적으로 실행되야되기때문에

install : compile
     mv hello /usr/local/bin

compile :
     gcc -o hello hello.c say_hello.c

이렇게 적으면 complie을 실행하고 나서 인스톨을 실행한다.
====================

gcc -c /src/say_hello.c
ar r lib/libsay/a say_hello.o
ar t lib/libsay.a
rm -
gcc src/hello.c -o hello -Iinclude -lsay -Llib
여기 까지 하면 실행가능한 실행가능한 hello가 나온다.
그러면
mv hello /usr/local/bin/ -f 라는 데 옴기면
hello해도 실행가능

이것을 메이크로 만들면
모듈을 만들고 lib러리를 만들고
그다음 컴파일을 실행한다.
//Makefile

default : lib
         gcc src/hello.c -o hello -Iinclude -lsay -Llib

lib: mod
   ar r lib/libsay.a src/say_hello.o

mod:  //모듈을 만드는단계
      gcc -c src/say_hello.c -o src/say_hello.o

clean:

        rm -f lib/libsay.a
        rm -f src/say_hello.o
        rm -f hello
        rm -f /usr/local/bin/hello

install :
         mv hello /usr/local/bin/hello -f
      
이렇게 한다.
그냥 make를 치면 제일 상단에 있는 타겟을 실행하고
make default 하면 디폰트가 실행된다.
make lib하면 lib명령줄실행

clean설치한거 삭제한것처음상태로 되돌린다.
000000000000-----------------------------------
메이크 이렇게 계속 스면 귀찮으니까
일반적으로 배포할때 메크로를 만든다.
배포본을 보면 configure가있다.
이것는 make파일을 만들어준다. 자동으로

실행방법은
configure 실행만 하면된다
Makefile가생기고 
make하면 설치하면된다.

 

//  2번째 퍼온글 /////

 

1. automake : 사용자 시스템의 플랫폼 종류와 현재 설치된 프로그램과 라이브러리를 찾아서 적절 

          한 내용의 Makefile을 생성하는 역할.

->프로그램 제작자는 automake가 작업을 할 기초 내용을 제공하는 Makefile.in이나 configure.in등

   의 파일을 재공한 후에 사용자가 자신의 시스템에서 적절하게 Makefile을 생성하도고 함

 

2. configure 스크립트 : automake를 사용하기 쉽도록 구성한 것.

 

3. make depend : 실제 컴파일을 수행하기 위해 필요한 의존 파일을 구성할 때 구성

 

4. make : 아무런 구성 대상의 지정 없이 make를 실행시킨다면 Makefile에 설정된 기본 대상을

   구성.

 

5. make install : 컴파일된 프로그램을 지정된 위치에 설치

 

6. make clean : Makefile의 구성을 고치거나 오류가 발생한 컴파일을 다시 진행하려 할 때에 이전

  과정에서 생성된 파일들이 호한성의 문제를 일으킨다고 판단되면 이 명령을 통해서 이전 파일들 

   을 삭제하고 새롭게 생성. 또는 컴파일 옵션을 수정하기 위해 configure를 다시 실행하기 전에 이

   명령을 사용

 

7. make uninstall : uninstall 타겟을 지원하는 프로그램은 그다지 많은 편은 아니지만 이구성 대상

    install 타겟이 설치한 파일들을 삭제한는 기능.

 

 

//  정리 하자..//

 

make  -> makefile 의 내용을 실행한다.

make install -> makefile 중 install 이라는 라벨 부분을 실행해서 파일들을 설치한다.

make install clean  -> 프로그램 설치중(install중 불필요하게 생긴 파일을 install 후 삭제한다.

 

그래서 기본적으로

#> make

#> maek install clean 을 한다.



http://cafe.naver.com/invalidate.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=419

저작자 표시 비영리 변경 금지

'Study > Embaded Linux' 카테고리의 다른 글

Make에 대하여~  (1) 2010/06/13
임베디드 리눅스 설명  (0) 2010/06/07
minicom 을 설정해보자  (0) 2010/06/06
cross 컴파일러 설치하기 [ 크로스 컴파일러 설치하기]  (0) 2010/06/04
minicom 설치하기  (0) 2010/06/04
임베디드 리눅스 실패작  (0) 2010/06/03
posted by 상상의공간
prev 1 2 3 4 5 ... 24 next