문제

서로 의존하는 여러 AutoCONF 기반 라이브러리를 컴파일하고 설치하기 위해 마스터 메이크 파일을 작성하고 있습니다.첫 번째 이동을 위해 모든 것이 잘 작동합니다.문제는 다음과 같습니다. 개별적 으로이 라이브러리 중 하나에서 작업하고있는 경우 접두사 폴더에 "make && make install"헤더 파일을 덮어 씁니다 (해당 할 수없는 경우에도).이로 인해 모든 종속 라이브러리가 처음부터 컴파일됩니다.

메이크 파일을 해킹하지 않고 불필요한 재 컴파일을 피하는 방법이 있습니까?

도움이 되었습니까?

해결책

어쩌면 해결책이 조금 늦었지만

./configure INSTALL="install -p"
.

다시 컴파일 문제를 해결합니다.이 플래그를 사용하면 GNU 설치가 설치된 파일의 타임 스탬프를 만들어진 파일의 타임 스탬프로 설정합니다.

다른 팁

종속성 그래프를 설정하는 데에만 Sentinel 파일을 사용할 수 있습니다.예 :

prefix := /usr/local

.PHONY: all
all: libx-built

libx-built \
  : libx.tar.gz \
  ; tar xzvf $@ \
  && cd libx \
  && ./configure --prefix=$(prefix) \
  && make && make install \
  && touch $@
.

다음 libx-build가 새로운 경우에만 종속리스 빌드를 할 것입니다.

liby-built \
  : liby.tar.gz libx-built \
  ; ...
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top