설치 원인을 다시 컴파일하십시오
문제
서로 의존하는 여러 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 \
; ...
. 제휴하지 않습니다 StackOverflow