2010-11-20 2 views
3

와 나는 Autotools가를 사용하여 내 소스 코드 및 관련 데이터 파일을 배포 할 :Autotools가이 데이터 파일

~/foo$ ls -R 
.: 
conf configure.ac dat Makefile.am src 

./conf: 
foo-pref.conf 

./dat: 
data.dat 

./src: 
main.c Makefile.am 

이것은 내가 지금까지 가지고있는 것입니다. ./conf 및 ./dat 하위 디렉토리가 없으면 Autotools가 단일 실행 파일을 설정하도록 할 수 있습니다. 그러나 data.dat를 $ (prefix)/share 및 foo-pref.conf에 설치하여 적절한/etc 디렉토리에 설치해야합니다. 이것을 달성하기 위해 무엇을 할 수 있습니까?

답변

6

dist_data_DATA = dat/data.datdist_sysconf_DATA = conf/foo-pref.conf을 사용하면 원하는 것을 얻을 수 있습니다. dist_ 접두사는 해당 파일이 make dist으로 생성 된 배포판을 통해 배포되어야한다고 말합니다. (이 경우) 중간 부분은 대상 디렉토리가 data 인 경우 ${datadir}, sysconf${sysconfdir} 인 경우 ... 생성 된 Makefile에서 필요한 경우 다른 사람을 조회 할 수 있습니다. 음, DATA 주 파일은 SCRIPTS과 반대로 해당 파일에 대해 특별한 작업을 수행하지 않는다고 말합니다.

기본적으로 configure는 /etc에 비해 ${sysconfdir}${prefix}/etc으로 설정합니다. 이를 변경하려면 예를 들어 configure를 호출해야합니다. ./configure --sysconfdir=/etc.