2010-11-20 21 views
3

ile ben Autotools kullanarak kaynak kodunu ve ilgili veri dosyalarını dağıtmak istiyorum:Autotools Veri Dosyaları

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

./conf: 
foo-pref.conf 

./dat: 
data.dat 

./src: 
main.c Makefile.am 

Bu defa ne var. ./conf ve ./dat alt dizinleri olmadan, AutoTools'u tek bir yürütülebilir dosya için ayarlamak için çalışabilirim. Ancak data.dat'ın uygun/etc dizinine kurulacak $ (prefix)/share ve foo-pref.conf dosyasına yüklenmesini istiyorum. Bunu başarmak için ne yapabilirim?

cevap

6

İstediğinizi elde etmek için dist_data_DATA = dat/data.dat ve dist_sysconf_DATA = conf/foo-pref.conf kullanabilirsiniz. dist_ öneki, bu dosyaların make dist ile oluşturulan dağıtımlarla dağıtılması gerektiğini söylüyor. (Bu durumda) orta kısım, hedef dizinin ne olduğunu belirtir:${datadir}, sysconf için ${sysconfdir}, ... diğerleri, gerekiyorsa, oluşturulan Makefile'de yukarı bakılabilir. Eh, ve DATA birincil, bu dosyalarda, SCRIPTS aksine, muhteşem bir şey yapmamayı söylüyor.

Varsayılan olarak, yapılandırmanın daha alışıldık olan /etc'un aksine ${sysconfdir} değerini ${prefix}/etc olarak ayarlayacağını unutmayın. Bunu değiştirmek isterseniz, ör. ./configure --sysconfdir=/etc.