Makefile.am에는 다음이 있습니다.
bin_PROGRAMS = sample
sample_SOURCES = main.cpp
sampleconfdir = $(sysconfdir)/sample
sampleconf_DATA = sample.cfg
설치 프로그램을 사용할 때마다 make install
Sample.cfg 파일을 덮어쓰게 됩니다. 파일이 이미 존재하는 경우 복사를 건너뛰도록 automake에 어떻게 지시합니까?
답변1
소프트웨어가 샘플 구성을 설치하고 사용자가 실제 설치에 사용하기 위해 이 구성을 복사하고 수정하도록 하는 것은 매우 일반적입니다. "사용자"란 말은누구나시스템 전체에 소프트웨어를 설치하는 로컬 관리자(루트)이든, $HOME
시스템 내부 어딘가에 소프트웨어를 설치하는 권한 없는 사용자이든 관계없이 소프트웨어를 설치합니다.
예를 들어 샘플 구성 파일을 설치할 수 있습니다.
- 또는 아래에 있지만
sysconfdir
파일 이름이 수정되었습니다(예: 접미사 포함.example
). examples
별도의 디렉토리 입니다docdir
.
그런 다음 이 문서에서는 INSTALL
사용자의 필요에 맞게 이러한 예제를 복사하고 수정하는 과정을 안내합니다.
이것의 장점은 새 버전의 소프트웨어를 설치하는 사용자가 구성 파일의 최신 예를 얻을 수 있다는 것입니다. 그런 다음 필요한 경우 새 파일을 기반으로 실제 구성을 업데이트할 수 있습니다.
새로운 구성 파일을 설치하지 마십시오.아니요예제를 설치할 때 구성 구문이나 해당 설정이 변경되면 사용자는 파일이 어떻게 생겼는지 모르기 때문에 혼란스러운 상태에 빠질 수 있습니다(유틸리티 설명서의 업그레이드 지침에 명시적으로 언급되지 않은 한). ).