带数据文件的Autotools

时间:2010-11-20 18:17:39

标签: 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安装在$(前缀)/ share和foo-pref.conf中以安装在相应的/ etc目录中。我能做些什么来实现这个目标?

1 个答案:

答案 0 :(得分:7)

您可以使用dist_data_DATA = dat/data.datdist_sysconf_DATA = conf/foo-pref.conf来实现您的目标。 dist_前缀表示这些文件应该由make dist生成的分发版分发。 (在本例中)中间部分表示目标目录是什么:data${datadir}sysconf${sysconfdir},...其他人可以在生成中查找Makefile,如果需要的话。好吧,DATA主要说不要对这些文件做任何特别的事情,而不是SCRIPTS

请注意,默认情况下,配置会将${sysconfdir}设置为${prefix}/etc,而不是更常见的/etc。如果你想改变它,你需要调用配置,例如./configure --sysconfdir=/etc