2014-03-14 2 views
1

나는 최근에 automake와 autoconf를 사용하기 시작했으며, 코드 배포 방법에 대해 약간 혼란 스럽다.설치 파일이없는 autoconf

보통 구성 파일과 작동하는 코드를 얻을 때 유일한 것은 confiure 파일과 Makefile.am 코드 자체입니다. 보통 나는

./configure 
make 
sudo make install 

을하고 모든 이잖아하지만 난 configure.ac에서 내 구성을 생성 할 때 그것은 단지 일시적인 생각 많은 파일을 던져 파일하지만 파트너에 코드를 제공하고있는 경우 그 구성한다 , 작동하지 않는다면, autoreconf를 리메이크하거나이 모든 파일 (즉, instal.sh, config.sub ...)을 가지고 있어야합니다.

내가 누락 된 것이 있습니까? 어떻게 코드를 쉽게 배포하고 정리할 수 있습니까? 나는 많은 것을 수색했지만 나는 아무것도 찾을 수 없기 때문에 내가 옳은 것을 찾고 있다고 생각한다.

미리 감사드립니다.

답변

2

Automake는 make dist 표적을 제공합니다. 프로젝트에서 자동으로 .tar.gz을 만듭니다. 이 보관 파일은받는 사람이 파일을 간단히 추출하여 일반적인 ./configure && make && make install 호출을 실행할 수 있도록 설정됩니다.

일반적으로 권장되지 않음 Autotools에서 생성 한 파일을 저장소로 확인하십시오. 이것은 파생 된 객체이기 때문입니다. .o 개의 파일을 체크인하지 않으실 겁니다!

일반적으로 새 버전 제어 시스템 체크 아웃에서 Autotools 빌드 인프라를 재생성하는 데 필요한 작업을 수행하는 autogen.sh 스크립트를 제공하는 것이 좋습니다.

#!/bin/sh 
autoreconf -i 

는 그 다음 chmod +x 설정하고, 깨끗한 체크 아웃에서 컴파일에 대한 지침은 ./autogen.sh && ./configure && make가 될 수 있습니다 종종로는 간단 할 수있다.

+0

답변 해 주셔서 감사합니다. git 저장소에 프로젝트가 있고 일반적인 명령을 실행하는 데 필요한 것을 갖고 싶습니다. 필요한 것을 만들고 tar.gz 대신 저장소에 추가하는 것이 가능합니까? –

+0

** ** 가능하지만 일반적으로 ** 나쁜 아이디어 **입니다. 업데이트 된 답변을 참조하십시오. –

+0

좋아요, 그럼 그럴 겁니다. 단일 패키지 구성 파일을 여러 패키지에서 보았지만 아마도 다른 방식으로 생성되었을 수 있습니다. 나는 autogen 스크립트를 추가 할 것이다. 감사! –

관련 문제