在使用GNU Autotools构建的项目中,我有一个脚本,需要修改make
以包含安装路径。这里有一个小例子:由`make dist`复制而不是`make distcheck`的文件
configure.ac:
AC_INIT(foobar, 1.0)
AC_PREREQ(2.66)
AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE(foreign)
AC_CONFIG_FILES([Makefile blah/Makefile])
AC_OUTPUT
Makefile.am:
SUBDIRS = blah
嗒嗒/ Makefile.am:
all: myscript
myscript: myscript.in
sed -e 's,@datadir\@,$(pkgdatadir),g' myscript.in > myscript
chmod +x myscript
EXTRA_DIST = myscript.in
./configure; make
成功创建myscript
。同上make dist; tar xvzf foobar-1.0.tar.gz; cd foobar-1.0; ./configure; make
。但是,make distcheck
失败,因为缺少文件myscript.in
(但它与make dist
成功复制)。
任何想法为什么文件myscript.in
未被复制make distcheck
?
非常好,非常感谢! – Leo