Linux autoconf-如何生成模板并将其复制到适当的目录

Linux autoconf-如何生成模板并将其复制到适当的目录,linux,makefile,autoconf,automake,Linux,Makefile,Autoconf,Automake,我正在C项目中使用autoconf和automake。我想创建一个.deb包,因此我有以下control.in文件: 我想用autoconf配置这个文件,因为根据我设置的一些配置时间标志,可能会有更多的_依赖项 这个control.in文件位于stubs/文件夹中,在替换MORE_DEPENDENCIES变量之后,我还想将生成的控制文件复制到最终目标文件夹debian/中,以创建.deb包 因此,本质上,我试图让autoconf执行以下操作: 包括{srcdir}/stubs/as输入文件夹,以

我正在C项目中使用autoconf和automake。我想创建一个.deb包,因此我有以下control.in文件:

我想用autoconf配置这个文件,因为根据我设置的一些配置时间标志,可能会有更多的_依赖项

这个control.in文件位于stubs/文件夹中,在替换MORE_DEPENDENCIES变量之后,我还想将生成的控制文件复制到最终目标文件夹debian/中,以创建.deb包

因此,本质上,我试图让autoconf执行以下操作:

包括{srcdir}/stubs/as输入文件夹,以便替换位于那里的.in文件中的宏 配置存根{srcdir}/stubs/control.in,替换其中的任何宏,用替换的宏生成文件{srcdir}/stubs/control 将{srcdir}/stubs/control复制到最终目标文件夹{srcdir}/debian/control中 我一直在寻找示例或官方文档,但仍然找不到如何在根源文件夹之外配置.in文件


关于“如何将最终文件复制到debian/文件夹”,我想我可以使用?有更好的方法吗?

这是食物链的首要问题

Debian打包工具被设计为构建Debian包的顶级工具,并且控制文件在整个包构建过程中保持不变。如果您只希望构建二进制软件包,那么您可能可以绕开这一点,但是修改构建依赖项是没有意义的,因为它们是在前面进行评估的

正常生成过程将清除生成树,以便记录源包中的更改,然后重新运行配置和生成。如果此时更新debian/control,则结果未定义

如果必须以编程方式更新debian/control,请使用常规包构建无法访问的单独机制。如果您有常规版本,而不是从开发版本中裁剪包,那么将包作为单独的包来处理可能更有意义

Source: myproject
Section: misc
Priority: optional
Maintainer: Paul Walker <pwalk@test.it>
Build-Depends: debhelper (>=9), autotools-dev@MORE_DEPENDENCIES@
Standards-Version: 1.0.0
Homepage: https://www.my-website.it/

...