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 |


