C 및 C ++의 세계에서 온 대부분의 빌드 시스템에는 install
Makefile ( 예 : GNU 에서 권장하는 위치 ) 또는 CMake 등의 대상이 있습니다. 이 대상은 운영 체제 (예 : C:\Program Files\
Windows) 의 런타임 파일 (실행 파일, 라이브러리 등)을 복사합니다 .
나에게있어서 프로그램을 설치하는 것은 빌드 시스템의 책임이 아니기 때문에 (실제로 운영 체제 / 패키지 관리자의 책임 임) 이것은 해킹처럼 느껴집니다 . 또한 빌드 시스템 또는 빌드 스크립트가 환경 변수, 레지스트리 변수, 심볼릭 링크, 권한 등 으로 설치된 프로그램의 구성을 알아야 함을 의미합니다 .
기껏해야 빌드 시스템 release
에는 설치 가능한 프로그램 (예 : .deb
또는 .msi
) 을 출력 할 대상이 있어야 하며 운영 체제에 해당 프로그램을 설치하도록 요청하십시오. 또한 사용자가 입력하지 않고도 제거 할 수 make uninstall
있습니다.
그래서 내 질문 : 왜 빌드 시스템이 일반적으로 install
목표를 갖는 것이 좋습니다 ?
make install
일반적으로 설치에 따라 /usr/local
(또는 /opt
)은 "핵심 OS / 패키지 관리 시스템"에 의해 처리되지 디렉토리에있는. 그래도 Windows에 비슷한 규칙이 있는지는 알 수 없습니다.
make install
우리는 크로스 컴파일에 대해 이야기 할 때 이해되지 않는다
DESTDIR
합니다.