Makefile Yocto,从(用户空间)包生成过程中删除自动工具

Makefile Yocto,从(用户空间)包生成过程中删除自动工具,makefile,package,autotools,yocto,building,Makefile,Package,Autotools,Yocto,Building,为基于Linux的嵌入式系统的根文件系统映像构建的Userspace包(使用Yocto项目)显然使用了autotools—可以在包的源代码中看到Makefile.am和configure.ac。似乎也使用了pkg config或其后续版本(.pc.in存在),但超出了此处的范围。 这里关注的包是这样做的(通过使用自动工具),因为在开发之初,它显然是从类似但已经存在的包中复制和采用构建脚本的最低阻力线。 实际上,当使用Yocto构建时,自动工具似乎是不必要的,因为Yocto构建系统元数据确实为每个

为基于Linux的嵌入式系统的根文件系统映像构建的Userspace包(使用Yocto项目)显然使用了autotools—可以在包的源代码中看到Makefile.am和configure.ac。似乎也使用了pkg config或其后续版本(.pc.in存在),但超出了此处的范围。 这里关注的包是这样做的(通过使用自动工具),因为在开发之初,它显然是从类似但已经存在的包中复制和采用构建脚本的最低阻力线。 实际上,当使用Yocto构建时,自动工具似乎是不必要的,因为Yocto构建系统元数据确实为每个目标精确地指定了目标。出于充分的理由,Yocto中的标准构建流程是下载、解包、修补、配置、构建,。。。此链中不包括扫描和检测目标环境


现在我想知道通过删除autotools阶段来简化包的构建过程是否有好处。我将按照几个步骤的顺序进行操作,首先用realmakefile替换.am文件。问题是这是否足以找到env。在.am和.ac中定义和使用的变量,然后将它们传输到makefile?剩下的目标设备规范实际上应该来自Yocto构建系统元数据。如果在根文件系统映像构建的范围内构建包,那么它可能会如此简单。但是,如何确保生成环境在仅生成此包时提供完整的目标设备规范
bitbake包名

用一个简单的生成文件替换自动工具并不是一个简单的操作,这很好地说明了这一点


如果您不想在软件包中使用自动工具,那么诸如介子之类的替代品通常会更快。

如果它没有损坏,就不要修复它。您最多可以少获得一两分钟的构建时间——就您自己执行和测试(非琐碎的)转换的时间和精力而言,这值多少钱?当你想换一个新版本的软件包时,你准备好重新做一次吗?你说得对,生成文件,然后按照广泛使用的约定进行维护,并广泛实现其目标可能不是一项简单的任务-这是从外部收集的信息,作为我自己,没有任何经验,在这方面的知识也相当平淡。在我最初的帖子中,我表达了一个令人担忧的想法:当使用Yocto构建时,目标设备的规格应该精确设置。那么,为什么需要在配置和构建之前进行构建和运行时环境分析(外行理解为自动工具的主要目标)?autools是否广泛用于使用Yocto构建软件包?@Na13-c,环境分析步骤并不严格需要。原则上,您可以直接准备Makefile。但是无论如何,执行环境分析是有用的,因为这是包的构建系统所做的。与手动配置构建相比,这节省了您大量的时间和精力。这不是关于尤克托的。这与您正在构建的包有关。请随意使用正确的值填充oe core中的相关站点/文件,以用于配置所做的所有测试,从而加快速度(因此配置将只使用来自站点的缓存值,而不是运行测试)。有很多测试,收益微乎其微。