我想使用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目录中。我能做些什么来实现这个目标?
答案 0 :(得分:7)
您可以使用dist_data_DATA = dat/data.dat
和dist_sysconf_DATA = conf/foo-pref.conf
来实现您的目标。 dist_
前缀表示这些文件应该由make dist
生成的分发版分发。 (在本例中)中间部分表示目标目录是什么:data
为${datadir}
,sysconf
为${sysconfdir}
,...其他人可以在生成中查找Makefile,如果需要的话。好吧,DATA
主要说不要对这些文件做任何特别的事情,而不是SCRIPTS
。
请注意,默认情况下,配置会将${sysconfdir}
设置为${prefix}/etc
,而不是更常见的/etc
。如果你想改变它,你需要调用配置,例如./configure --sysconfdir=/etc
。