Shell “怎么做?”;“制造距离”;指挥工作?I';我被一个脚本卡住了,我需要更新它来添加新的文件和文件夹

Shell “怎么做?”;“制造距离”;指挥工作?I';我被一个脚本卡住了,我需要更新它来添加新的文件和文件夹,shell,makefile,automake,Shell,Makefile,Automake,我必须在运行makedist命令时创建的zip中添加一个文件和文件夹。这是一个开源项目 经过研究,我知道我必须修改Makefile.am,但在线示例不起作用,也与我当前的Makefile.am不匹配 Makefile.am SUBDIRS = bin data po src extensions docs DISTCLEANFILES = \ intltool-extract \ intltool-merge \ intltool-upda

我必须在运行
makedist
命令时创建的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
配置.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
当我运行命令
makedist
时,输出zip不包括我现在需要添加的文件和文件夹。我无法理解应该在代码(Makefile.am或configure.ac)的何处进行更改。

变量听起来像这样

我必须在运行
makedist
命令时创建的zip中添加一个文件和文件夹

我认为这些还没有包括在分发中。如果您不确定,那么请检查——基于汽车制造商的构建系统(如您的构建系统)会自动识别许多文件,以便包含在分发包中

假设这些文件尚未包括在内,有几种方法可以使它们被包括在内。最简单的方法是将它们添加到
EXTRA\u DIST
变量中,从而产生

EXTRA_DIST =                \
    $(bin_SCRIPTS)          \
    intltool-merge.in       \
    intltool-update.in      \
    intltool-extract.in     \
    a_directory             \
    some_file.ext
如果继续使用多行表单,请不要忘记后面的反斜杠(我喜欢它,因为我发现它更容易阅读)。您可以指定文件路径、目录路径或两者。请注意,在目录的情况下,发行版中包含的不仅仅是目录本身,而是它的所有内容(递归)。这些都有记录


如果您需要更精细的控制,那么还有一个扩展点,用于以的形式管理分发内容。这包括一个名为
disthook
make
目标。与
Makefile.am
中的任何其他文字
make
规则一样,您为构建该目标提供的任何规则都会复制到最终生成的
Makefile
,如果存在此类规则,则其配方将作为构建分发的一部分运行,在以其他方式填充分发目录之后,但在此基础上构建归档文件之前。您可以在该目标的配方中编写或多或少的任意shell代码来调整发行版。有关血淋淋的详细信息,请按照上面的文档链接进行操作。

您应该告诉我们您尝试了什么,以及请求帮助时得到了什么结果。一种显而易见的方法是将您想要包含在dist中的新内容添加到
EXTRA\u dist
变量中,如下所述:。我想这对你不起作用,但我猜不出原因。