GNU 빌드시스템 (1)

여러분은 Web 을 통해 다운받은 Source Package 를 집접 컴파일하여 설치한 경험이 있으신가요 ?

Open Source Project 가 활발하게 진행되고 있는 sourceforge 등의 사이트에 보면 test.tar.gz 와 같이 Program Source 를 통째로 Package 로 제공하고 있죠.

다음과 같은 설치 순서... 많이 익숙하지 않나요 ? ^^;;

./configure --prefix=/home/dplee/local
make
make install

위와 같은 자동빌드시스템을 만들어두는 이유는 Platform 마다 다른 어떤 고려사항없이도 단순한 빌드명령이면 누구나 package 를 만들수 있도록 하기 위함입니다.

단순히 위의 3개 명령어만 알고 있는 사람이면 아무리 복잡한 project 의 산물이라도 여기저기 환경설정파일이나 Makefile 을 뜯어볼 필요없이 빌드가 가능하겠죠 ?

위와 같은 자동빌드시스템을 만들기 위해서는 다음의 사항들을 이해해야 합니다.

1.
GNU 의 자동화된 build 구축 도구는 autoconf, automake, libtool

2.
configure 에서 따라오는 각종 file(configure script 자체, Makefile.in, config.h.in)은 모두 자동화된 build 구축 도구로 만든 결과

3.
우리가 직접 작성해야하는 파일은 configure.in, Makefile.am 두개

4.
다음 단계로 빌드시스템을 구축한다.
가. configure.in, Makefile.am 작성
- configure.in : autoconf 의 입력파일
- Makefile.am : automake 의 입력파일
나. alocal (automake 를 위한 macro package 인 aclocal.m4 제작)
다. autoheader (config.h.in header file template 제작)
라. autoconf (configure script 제작)
마. automake (Makefile.in template 제작)

5.
빌드시스템 구축이 끝나면 configure 를 실행하여  config.h 와 Makefile 이 생성되었는지 확인

6.
configure 실행에 문제가 생기면 config.log 파일을 확인하여 원인파악

자~ 차례차례 아주 간단한 프로젝트 빌드시스템을 우리 스스로 만들어볼까요 ?


You may also like...

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x