我是第一次建立基于 autotools 的项目,我需要为两个平台构建项目(使用两个不同的工具链)。
目前当我想为一个工具链构建时,我会从头开始,因为我不确定完全理解它是如何工作的。 (自动配置,配置,制作)。
但是每次都需要 autoconf / configure 部分吗? 如果我创建两个构建目录,并从每个目录调用配置(每个目录都有不同的标志), 我可以在不执行所有过程的情况下直接调用 make 吗?
谢谢
答案 0 :(得分:0)
但是每次都需要 autoconf / configure 部分吗?如果我创建两个构建目录,并从每个目录调用 configure(每个目录都有不同的标志),我可以在不执行所有过程的情况下调用 make 吗?
Autoconf 用于构建(跨平台)构建系统。没有理由认为使用相同的输入(您的 configure.ac
和与您的项目捆绑在一起的任何自定义宏,主要是)运行相同版本的 Autoconf 会产生不同的输出。所以不,您不需要为每个构建单独运行 autoconf
,事实上这是标准的 Autotools 模型,您不在每个构建中运行 autoconf
。< /p>
所以是的,创建两个构建目录并在每个目录中运行 configure; make
是绝对自然和预期的用法。此外,如果您确实正在创建单独的构建目录而不是在源目录中构建,那么您将能够看到 configure
将其所有输出写入构建目录。因此,在这种情况下,一个构建不能干扰另一个。