다음은 아이디어입니다.
설치하지 않을 모든 타사 라이브러리를 noinst/
이라는 하위 디렉토리로 이동하십시오. 예를 들어 Boost와 같은 프로젝트를 출하하려면 noinst/boost/
디렉토리에 압축을 풉니 다. AC_CONFIG_SUBDIRS([noinst/boost])
을 사용하십시오. noinst/Makefile.am
내부, 같은 것을 할 :
SUBDIRS = boost
# Override Automake's installation targets with the command ":" that does nothing.
install:; @:
install-exec:; @:
install-data:; @:
uninstall:; @:
효과는 재귀 중 일부는 명령 최상위 디렉토리에서 실행됩니다 "설치 제거하기"또는 "*를 설치하게"할 때마다, 재귀가 noinst/
에 중지 것입니다 하위 디렉토리를 방문하지 마십시오. 다른 재귀 명령 (예 : "make", "make clean"또는 "make dist")은 하위 디렉토리로 반복됩니다.
물론 install:
및 친구들을 타사 패키지에 직접 무시하고 noinst/
디렉토리를 피할 수 있습니다. 그러나 나 같은 사람이라면 업데이트를 쉽게하기 위해 제 3 자 패키지를 변경하고 싶지 않을 것입니다. 또한 위의 설정의 좋은 속성은 누군가가 noinst/boost/
에 들어가고 make install
을 실행하기로 결정하면 작동합니다. 패키지를 설치할 때 기본적으로 나타나지 않습니다.
출처
2010-12-02 19:45:19
adl
외부 트리를 유지하고 싶지만 외부 종속성을 줄이려고합니다. 고마워, 이것을 시도 할 것이다. –
작동하지 않습니다. 내 프로그램이 끝난 후 라이브러리가 빌드됩니다. 분명히 작동하지 않습니다. –