답변:
패키지에 따라 다릅니다. Makefile이 GNU autotools ( ./configure
)에 의해 생성되면 일반적으로 다음과 같이 대상 위치를 설정할 수 있습니다.
./configure --prefix=/somewhere/else/than/usr/local
Makefile이 autotools에 의해 생성되지 않고 소프트웨어와 함께 배포되는 경우 편집기에서 열어서 변경하십시오. 설치 대상 디렉토리가 변수에 정의되어있을 수 있습니다.
make && make install
구성 절을 따라?
--prefix
는 strings
나중에 결과 바이너리 를 실행 하면 경로가 내부에 저장되어 있다는 것을 알 수 있습니다. 왜 이런 일이 발생했는지 모르겠지만 다른 사용자에게 제공하는 바이너리의 컴퓨터 경로를 원하지 않습니다.
어떤 버전의 automake를 알지 못하므로 DESTDIR 환경 변수를 사용할 수 있습니다 .
Makefile을 참조하십시오.
예를 들면 다음과 같습니다.
export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
컴파일하려는 모듈이 지원하는 내용에 따라 달라질 수 있습니다. autotools를 사용하여 makefile이 생성되면 다음을 사용하십시오.
--prefix=<myinstalldir>
./configure를 실행할 때
일부 패키지를 사용하면 다음을 실행할 때 재정의 할 수도 있습니다.
make prefix=<myinstalldir>
그러나 ./configure를 사용하지 않는 경우 확인하는 유일한 방법은 makefile을 열고 확인하는 것입니다. 맨 처음 몇 변수 중 하나 여야합니다.
make prefix=...
하드 코딩 된 경로가 잘못된 이진 파일이 생성 될 수 있습니다.이 경로는 일반적으로 이후에 수정할 수 없기 때문에./configure --prefix=...
패키지가 제공하는 경우 다음 Makefile.PL
을 사용할 수 있습니다.
perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
INSTALL_ROOT를 사용해보십시오.
make install INSTALL_ROOT=$INSTALL_DIRECTORY