我必须向运行make dist
命令时创建的zip文件和文件夹添加文件。这是一个开源项目。
经过研究,我了解我必须修改Makefile.am,但在线示例无法正常工作或与我当前的Makefile.am匹配
Makefile.am
SUBDIRS = bin data po src extensions docs
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update
EXTRA_DIST = \
$(bin_SCRIPTS) \
intltool-merge.in \
intltool-update.in \
intltool-extract.in
DISTCHECK_CONFIGURE_FLAGS = --disable-update-mimedb
check-po:
@for i in $(top_srcdir)/po/*.po ; do \
if ! grep -q ^`basename $$i | \
sed 's,.po,,'`$$ $(top_srcdir)/po/LINGUAS ; then \
echo '***' `basename $$i | \
sed 's,.po,,'` missing from po/LINGUAS '***' ; \
exit 1; \
fi; \
done;
lint:
flake8 --ignore E402 $(top_srcdir)/src $(top_srcdir)/extensions
test: lint check-po
PYTHONPATH=$(pkgdatadir)/extensions:$(PYTHONPATH) \
python -m sugar3.test.discover $(top_srcdir)/tests
configure.ac
AC_INIT([Sugar],[0.114],[],[sugar])
AC_PREREQ([2.59])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([configure.ac])
SUCROSE_VERSION="0.114"
AC_SUBST(SUCROSE_VERSION)
AM_INIT_AUTOMAKE([1.9 foreign dist-xz no-dist-gzip])
AM_MAINTAINER_MODE
PYTHON=python2
AM_PATH_PYTHON
AC_PATH_PROG([EMPY], [empy])
if test -z "$EMPY"; then
AC_MSG_ERROR([python-empy is required])
fi
PKG_CHECK_MODULES(SHELL, gtk+-3.0)
IT_PROG_INTLTOOL([0.35.0])
GETTEXT_PACKAGE=sugar
AC_SUBST([GETTEXT_PACKAGE])
AM_GLIB_GNU_GETTEXT
AC_ARG_ENABLE(update-mimedb,
AC_HELP_STRING([--disable-update-mimedb],
[disable the update-mime-database after install [default=no]]),,
enable_update_mimedb=yes)
AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
GLIB_GSETTINGS
AC_CONFIG_FILES([
bin/Makefile
bin/sugar
data/icons/Makefile
data/Makefile
extensions/cpsection/aboutcomputer/Makefile
extensions/cpsection/aboutme/Makefile
extensions/cpsection/background/Makefile
extensions/cpsection/backup/Makefile
extensions/cpsection/backup/backends/Makefile
extensions/cpsection/datetime/Makefile
extensions/cpsection/frame/Makefile
extensions/cpsection/keyboard/Makefile
extensions/cpsection/language/Makefile
extensions/cpsection/modemconfiguration/Makefile
extensions/cpsection/Makefile
extensions/cpsection/network/Makefile
extensions/cpsection/power/Makefile
extensions/cpsection/updater/Makefile
extensions/cpsection/webaccount/services/Makefile
extensions/cpsection/webaccount/Makefile
extensions/deviceicon/Makefile
extensions/globalkey/Makefile
extensions/webservice/Makefile
extensions/Makefile
Makefile
po/Makefile.in
src/jarabe/config.py
src/jarabe/controlpanel/Makefile
src/jarabe/desktop/Makefile
src/jarabe/frame/Makefile
src/jarabe/intro/Makefile
src/jarabe/journal/Makefile
src/jarabe/Makefile
src/jarabe/model/Makefile
src/jarabe/model/update/Makefile
src/jarabe/util/Makefile
src/jarabe/util/telepathy/Makefile
src/jarabe/view/Makefile
src/jarabe/webservice/Makefile
src/Makefile
])
AC_OUTPUT
当我运行命令make dist
时,输出zip不包含我现在需要添加的文件和文件夹。我不知道应该在代码(Makefile.am或configure.ac)的哪个位置进行更改。
答案 0 :(得分:2)
我必须向运行
make dist
命令时创建的zip文件和文件夹添加文件。
我认为这些未包含在发行版中。如果不确定,请检查-基于Automake的构建系统(例如您的系统)会自动识别很多文件,以包含在分发包中。
假设这些文件尚未包括在内,有几种方法可以使它们成为文件。最简单的方法是将它们添加到EXTRA_DIST
变量中,产生
EXTRA_DIST = \
$(bin_SCRIPTS) \
intltool-merge.in \
intltool-update.in \
intltool-extract.in \
a_directory \
some_file.ext
如果继续使用多行格式(我喜欢它,因为我发现它更容易阅读),请不要忘记后面的反斜杠。您可以指定文件,目录或两者的路径。请注意,在目录的情况下,分发中将不仅包含目录本身,而且还将递归包含目录的所有内容。这全部记录在in the manual中。
如果需要更好的控制,则还有一个扩展点,用于管理the "dist hook"形式的分发内容。这包括名为make
的{{1}}目标。像您的dist-hook
中的任何其他文字make
规则一样,您为构建目标提供的任何规则都将复制到最终生成的Makefile.am
中,如果存在这样的规则,则运行其配方作为构建发行版的一部分,在填充发行版目录之后但从中构建存档文件之前。您可以在该目标的配方中编写或多或少的任意shell代码,以调整分布。请按照上面的链接获取文档以获取详细信息。
答案 1 :(得分:1)
EXTRA_DIST变量听起来像东西。