我正在过渡到 git-annex 以在我的 git 存储库中存储数据文件。使用 git-annex,您可以克隆存储库并排除附件中的文件,直到您特别请求它们。所以,我试图创建一个系统,用户可以在其中构建 src 树,而在make阶段不存在 git 附加的数据文件。目前,我们假设文件存在于用户文件系统中,因此 Makefile.am 的以下片段就足够了:
foo_DATA=datafile1 datafile2 datafile3
EXTRA_DIST=$(foo_DATA)
但是,当使用_DATA
主文件时,当用户尝试制作并且列表中的任何文件都不存在时会生成错误。所以我的问题是,有没有办法定义数据文件,以便在make期间数据文件不存在时不会生成错误,但如果文件在make install步骤期间存在,则其行为与上述代码完全相同?
我已经尝试_DATA
完全避免初级,做一些简单的事情,如下所示:
data_files=datafile1 datafile2 datafile3
install:
test -z $(foodir) || mkdir -p $(foodir)
install -c -m 644 $(data_files) $(foodir)
但这很老套。我对“安装”二进制文件和权限标志进行硬编码,而不是从配置脚本中获取它们。如果文件不存在,Ide 宁愿让 automake 在make步骤中不会失败,但在所有其他情况下都按预期运行。
TLDR:如果文件不存在,我可以使用在生成期间不会出错的主文件定义一组文件吗_DATA
?但是如果它存在的话,它也完全按照主节点的方式安装吗?_DATA