[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

20. Automake로는 충분하지 않을 때

automake의 그대로 복사하는 기능으로 많은 문제들은 단순히 make target과 rule을 ‘Makefile.in’에 추가해서 해결할 수 있다. automake는 이러한 추가를 무시할 것이다.

그렇게 하는데 몇가지 경고가 여기 있다. automake에서 이미 사용되고 있는 target을 다시 정의할 수 있지만, 대부분 그것은 추천할 바가 못된다. 특히 non-flat 패키지의 맨 위 디렉토리는 그렇다. 하지만, 여러가지 유용한 타겟들이 ‘Makefile.in’에서 지정할 수 있는 ‘-local’버전이 있다. Automake는 이러한 사용자가 제공한 target들을 표준 target에 추가할 것이다.

local 버전을 지원하는 target은 all, info, dvi, check, install-data, install-exec, uninstall, 그리고 여러가지 clean target들 (mostlyclean, clean, distclean, 그리고 maintainer-clean)이다. uninstall-exec-local이나 uninstall-data-local target은 없다는 것에 유의하자; 그냥 uninstall-local을 사용하라. 데이타나 실행화일만을 uninstall하는 것은 의미가 없다.

예를 들어, ‘/etc’에 파일을 설치하는 방법이 여기 있다:

 
install-data-local:
        $(INSTALL_DATA) $(srcdir)/afile /etc/afile

hook이라고 하는 어떤 target이 그 일이 끝난 뒤에 또다른 target을 실행시키는 방법이 있다. hook은 그 주요 target에 ‘-hook’이 뒤에 붙어서 이름지어 진다. hook을 만들 수 있는 target은 install-data, install-exec, dist, 그리고 distcheck이다.

예를 들어, 여기 설치된 프로그램의 hard link를 만드는 방법이 있다.

 
install-exec-hook:
        ln $(bindir)/program $(bindir)/proglink

[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Autobuild on October 25, 2015 using texi2html 1.82.