我想使用交叉编译从头开始构建我自己的GNU / Linux系统(就像CLFS项目一样)。我将使用的大多数软件包都是使用configure脚本分发的,您只需使用正确的参数运行它。出于各种原因,我想跳过这一步,然后运行make。当然我需要一个自定义Makefile才能工作。问题是:创建自定义Makefile是否可行,而无需阅读和理解所有源代码?是否可以只读取configure.ac文件或类似的东西?感谢。
答案 0 :(得分:2)
可能不是。会发生什么是配置测试哪些选项最适合您的环境,然后将它们替换为Makefile.in以构建Makefile,config.h.in以构建config.h等。您可以跳过运行configure并确定这些值应该来自configure.ac的简单情况(或者如果您的环境不会改变,只保留一个巨大的缓存)但我认为包可以在configure.ac中定义额外的内联检查,您必须解析并正确实现。即使您必须在没有运行时检查的情况下为交叉编译环境找出正确的参数值,运行configure也会容易得多。
然而,希望你只需要构建少量的包交叉(内核,glibc,gcc,make,bash等),然后你可以切换到你的新环境并使用configure在那里构建剩余的包?如果你想了解你应该使用什么开关值,你可以随时查看Fedora SRPMs或Debian source-debs中的参数。