파일을 다른 디렉터리에 컴파일할 수 있나요?

파일을 다른 디렉터리에 컴파일할 수 있나요?

한때 소스에서 프로그램을 빌드하기로 결정했지만 더 이상 업데이트할 수 없다는 것을 깨닫고 수동으로 모두 삭제했습니다.

make install파일을 버리지 않는 방법이 있나요 /? 예를 들어 데스크탑에 프로그램 폴더를 만들고 거기에서 빌드를 컴파일하시겠습니까?

저는 데비안 10.4를 사용하고 있습니다.

답변1

README익숙하지 않은 소스 코드 패키지를 컴파일할 때는 항상 INSTALL해당 합계 파일(패키지에 있는 경우)을 읽는 것부터 시작해야 합니다.

잘 만들어진 소스 코드 배포판 타르볼은 항상 이를 추출한 명령을 실행한 위치를 기준으로 단일 하위 디렉터리에 추출되어야 합니다. 그러나 모든 소스 코드 배포가 잘 이루어진 것은 아닙니다.항상 콘텐츠 목록을 먼저 확인해야 합니다익숙하지 않은 tarball을 추출하기 전에 tar tf tarball.tar.gz필요한 경우 해당 특정 소스 패키지에 대한 작업 디렉토리를 생성하고 cd그 안에 넣은 다음 그 안에서 extract 명령을 실행하십시오.

빌드 프로세스가 ./configure; make; make install(즉, Autoconf를 사용하는 경우) 해당 단계에서 명령줄 옵션을 사용하여 configure최종 결과가 설치될 위치를 결정할 수 있습니다. ./configure --help특정 소스 코드 패키지에서 사용할 수 있는 옵션 목록은 참고자료를 참조하세요 .

아마도 항상 , 또는 아마도 같은 것을 사용해야 할 것 ./configure --prefix=/usr/local입니다 ./configure --prefix=/opt/<name of software package>../configure --prefix=$HOME/Desktop/My_Software/<name of software package>

빌드 프로세스가 방금 시작되는 경우 일반적으로 기본 및/또는 설치할 위치를 결정하기 위해 편집할 수 있는 make여러 변수가 있습니다 .Makefileconfig.h

실행하기 전에 make install(프로그램을 설치해야 하는 위치에 따라 일반적으로 루트로 실행해야 할 수 있는 프로세스의 유일한 부분임) 일반적으로 이를 실행하여 실행 make -n install하지 않고 실행하는 경우 명령을 나열하는 것이 좋습니다. 해당 옵션을 실행하면 실행되어 -n대상 디렉터리가 올바른지 확인합니다.

make clean일반적으로 컴파일 프로세스의 모든 결과는 소스 코드 디렉터리에서 제거되어 모든 컴파일 시간 구성 파일은 변경되지 않습니다.

전부는 아니지만 일부 소스 패키지에는 make uninstall제거를 시도할 패키지도 있습니다 make install.

기본 소스 코드 디렉터리에 및 라는 파일이 debian포함된 하위 디렉터리가 있는 경우 개발자는 해당 소스 코드 배포에서 패키지를 자동으로 빌드하는 기능을 포함시켰습니다. 이 경우 이 명령(또는 이에 상응하는 명령(예: ) 중 하나 )을 사용하여 평소처럼 사용 하거나 설치할 수 있는 하나 이상의 바이너리 패키지를 빌드 할 수 있습니다.rulescontrol*.debdebuildfakeroot debian/rules binary*.debdpkgapt

*.deb아직 데비안 패키징 도구가 없는 소스 패키지에서 패키지를 빌드 하려는 경우 해당 도구를 추가하는 것은 일반적으로 그리 어렵지 않습니다. 이를 소스 코드 패키지의 "데비안화"라고도 합니다. 이 링크를 참조하세요:https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html

관련 정보