首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >".am.in“?写".in“而不生成它可以吗?

".am.in“?写".in“而不生成它可以吗?
EN

Stack Overflow用户
提问于 2017-02-16 11:24:39
回答 2查看 50关注 0票数 1

简单地说,我在我们正在开发的项目中运行了一个"buildconf.py.am.in“文件。并不是很擅长自动工具(我不得不为这份工作学习它们),这对我来说是相当奇怪的。里面有两个VAR=@VAR@和两个VAR=[@]VAR[@]

怎么会有".am.in“呢?对我来说,这意味着我们编写一个.in来生成一个.am,该.am将用于生成另一个.in (或者.py,可能)。它看起来是“合法的”还是应该是“固定的”?因此,在configure步骤之后,我确实有一个"buildconf.py.am",它在make过程中用于生成.py。它包含以下内容:

代码语言:javascript
运行
复制
do_subst = sed  -e 's,\[@\]APP_VARDIR\[@\],$(localstatedir)/app/,g' \
    -e 's,\[@\]APP_LOGDIR\[@\],$(logdir),g'

buildconf.py: buildconf.py.am
    $(do_subst) < $(srcdir)/buildconf.py.am > buildconf.py

这是“正常”还是“可接受”?当我试图整合整件事情的时候,因为一切都变得“棘手”,而且很难更新,这似乎是我的大量修复之一。

泰!

编辑:

这个脚本主要为"plugins“使用的文件夹定义路径,因此需要一些东西,比如datadir或软安装。它还定义了这些插件要使用的文件夹结构,这样就可以通过所谓插件的python代码导入它们。此外,这些“插件”实际上是应用程序的服务器/路由层。

  • buildconf.py.am.in文件不是生成的,而是手工编写的;
  • buildconf.py.am是在AC_CONFIG_FILES中声明的(怎么可能呢?)它应该告诉“必须有一个buildconf.py.am.in.am在它旁边,它将用于生成一个buildconf.py.am.in.in然后生成一个"buildoncf.py.am.in文件.但我们想要得到的只是buildconf.py);
  • 运行configure会生成buildconf.py.am,设置的变量是两个布尔值,用于判断是否提供了mongoDB和web插件;
  • make生成最终的buildconf.py,将在需要它持有的常量的地方导入。这是在此时完成的,因为它需要在配置步骤中扩展-I猜测变量。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-16 19:03:45

我觉得这可能只是命名上的问题。

通常.am文件包括在Makefile.am中,并由automake扩展,因此,例如,它们被用来定义源和目标的每个目录,同时保持整体构建的非递归性。

您可以在Makefile级别包含文件,这样make就可以执行包含,但是调用它们.am听起来是错误的。

但在这种情况下,这两者都不是,这可能应该被称为.in.in (有一些类似的脚本),但它感觉有点过头了。如果只在make阶段应用所有的替换,那么一次处理可能会有同样的意义。

我想最有可能的情况是,在某种程度上,最初的扩展是不正确的,它是分层的,但不知道代码基,很难判断。

票数 2
EN

Stack Overflow用户

发布于 2022-04-22 13:39:26

看起来像一个三步自定义模板,例如在Unity中。模板首先由autogen.sh.am.in -> .am处理,然后由.am -> .in自动处理,最后由configure script Makefile.in -> Makefile进行处理。

autogen.sh中它是:

代码语言:javascript
运行
复制
if test x$has_ext_mod = xtrue; then
       cat mono/mini/Makefile.am.in ../mono-extensions/mono/mini/Makefile.am > mono/mini/Makefile.am
else
       cat mono/mini/Makefile.am.in > mono/mini/Makefile.am
fi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42272573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档