오토메이크

Automake
오토메이크
Heckert GNU white.svg
개발자GNU 프로젝트
초기 릴리즈1996년 5월 28일, 26년 전(1996-05-28)
안정된 릴리스
1.16.5[1] / 2021년 10월 3일; 10개월 전 (2021년 10월 3일)
저장소
운영 체제크로스 플랫폼
유형프로그래밍 도구
면허증.GNU 일반 공중 라이선스
웹 사이트www.gnu.org/software/automake/ Edit this at Wikidata

소프트웨어 개발에서 GNU Automake는 컴파일 프로세스의 일부를 자동화하는 프로그래밍 도구입니다.일반적인 컴파일 문제를 완화합니다.예를 들어 필요한 종속성을 가리킵니다.

Makefile.am 라고 하는 파일로부터, 1개 또는 복수의 Makefile.in 가 자동적으로 생성됩니다. Makefile.am에는 컴파일된 소프트웨어에 대한 유용한 변수 정의(컴파일러 링커 플래그, 의존관계 및 버전 등)가 포함되어 있습니다.생성된 "Makefile.in"은 이식 가능하며 GNU 코딩 표준의 Makefile 규약에 준거하고 있으며, 구성 스크립트에서 사용할 수 있는 Makefile[2]생성할 수 있습니다.

Free Software Foundation은 GNU 프로그램 중 하나 및 GNU 빌드 시스템의 일부로 유지된다.GTK[3]같은 여러 GNU 응용 프로그램과 라이브러리 및 XCircuit[4]같은 비 GNU 소프트웨어를 구축하는 데 사용됩니다.

과정

autoconf 및 automake 흐름도

Automake는 프로그래머가 make 파일 전체를 수동으로 쓸 필요 없이 보다 높은 수준의 언어로 make 파일을 작성할 수 있도록 하는 것을 목표로 하고 있습니다.간단한 경우, 다음과 같은 정보를 제공하면 됩니다.

  • 빌드할 프로그램의 이름을 선언하는 행
  • 소스 파일 목록
  • 컴파일러에 전달되는 명령줄 옵션 목록(예를 들어 디렉토리 헤더 파일이 검색됨)
  • 링커에 전달되는 명령줄 옵션 목록(프로그램에 필요한 라이브러리 및 검색되는 디렉토리)

또한 Automake는 종속성 [5]정보를 자동으로 생성하므로 소스 파일이 수정되면 다음 번 make 명령 호출 시 재컴파일해야 하는 소스 파일을 알 수 있습니다.컴파일러가 이를 허용하면 Automake는 종속 시스템을 동적으로 만들려고 합니다. 소스 파일이 컴파일될 때마다 파일의 종속성 목록을 재생성하도록 컴파일러에 요청하여 해당 파일의 종속성을 업데이트합니다.즉, 의존성 추적은 컴파일 프로세스의 부작용입니다.

이를 통해 일부 정적 종속성 시스템에서 프로그래머가 프로젝트 [6]작업을 시작할 때 종속성이 한 번만 감지되는 문제를 방지할 수 있습니다.

설계.

Automake는 Perl로 작성되며 GNU [2]Autoconf와 함께 사용해야 합니다.Automake에는 다음 명령어가 포함되어 있습니다.

  • 로컬
  • 오토메이크

, aclocal은 사용자의 자동 컨피규레이션에 도움이 되는 범용 프로그램입니다.예를 들어 GNU 컴파일러 컬렉션(GCC)은 makefile이 손으로 작성되어 있어도 aclocal을 사용합니다.

Autoconf와 마찬가지로 Automake도 완전히 하위 호환성이 있는 것은 아닙니다.예를 들어, automake 1.13으로 생성된 프로젝트는 automake 1.[7]14에서 반드시 작동하지는 않습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Jim Meyering (3 October 2021). "automake-1.16.5 released". Retrieved 6 October 2021.
  2. ^ a b "Automake". GNU. Free Software Foundation. 2018-02-25. Retrieved 2018-02-26.
  3. ^ GTK+ 라이브러리
  4. ^ XCircuit 매뉴얼
  5. ^ "Automatic Dependency Tracking". Automake Manual. GNU.org. Free Software Foundation.
  6. ^ "Automake History". GNU.org.
  7. ^ "Re: "make distclean" broken?". Archived from the original on 3 March 2014.

원천

  • Vaughan, Gary V.; Elliston, Ben; Tromey, Tom (2000). GNU Autoconf, Automake, and Libtool. Sams. ISBN 1-57870-190-2.

외부 링크