automake에서 "릴리스"란 무엇입니까?

automake에서 "릴리스"란 무엇입니까?

Makefile.am파일에는 다음 항목이 표시됩니다.

EXTRA_DIST = bootstrap \
    ChangeLog \
    config/config.rpath \
    m4/ax_pthread.m4 \
    m4/iconv.m4 \
    MacOSX/someheader.h
    [...]

이게 무슨 뜻인지 궁금합니다만,문서"배포"가 실제로 무엇을 의미하는지에 대한 정의가 없는 것 같습니다.

"컴파일된 라이브러리"를 의미하는 것은 아닙니다. 그렇죠? 일종의 소스코드 배포인가요? (이게 왜 필요한가요? git이나 zip 루트 폴더를 사용할 수 있나요?)

누군가가 이것을 명확히 할 수 있기를 바랍니다.

답변1

문서에서는

dist생성된 규칙은 gzip으로 압축된 파일 및/또는 배포용 아카이브의 다른 버전을 Makefile.in생성하는 데 사용될 수 있습니다.tar

'배포'란 배포하는 행위를 의미합니다.

목표는 dist프로젝트 관리자가 실행할 수 있도록 생성된 Makefile에 대상을 생성하는 것 입니다.

make dist

출판에 적합한 아카이브를 확보하고,최종 사용자(또는 최종 빌더)가 전체 Autoconf 프로세스를 실행할 필요 없이 일반적인 ./configure && make.

EXTRA_DIST일반적으로 이러한 아카이브에 포함되지 않는 파일도 전송할 수 있도록 나열합니다.

기본 개념은 관리자에게 있어서 프로젝트의 소스 코드는 Autoconf/Automake/etc에서 기대하는 소스 코드라는 것입니다. 그러나 이는 소스에서 프로젝트를 컴파일하려는 대부분의 사람들에게 즉시 유용하지는 않습니다. 따라서 프로젝트 관리자는 버전을 출시할 때 "원시" 소스 코드를 배포하지 않고 configure생성된 스크립트와 다양한 지원 도구가 포함된 "배포 아카이브"를 배포합니다.

답변2

"배포"의 종류는 여기https://www.gnu.org/software/automake/manual/html_node/The-Types-of-Distributions.html

tar.gz .zip 등과 같은 파일만 가능합니다. 소스코드를 수정하면 인터넷에서 얻은 소스코드만 이용해서 tar.gz를 쉽게 빌드할 수 있다는 생각이다. 이러한 파일에는 ./configure로 생성되어야 하기 때문에 Makefile이 아닌 소스 코드만 포함됩니다.

관련 정보