【问题标题】:What are makefiles - make install什么是 makefile - make install
【发布时间】:2011-04-24 07:47:30
【问题描述】:

我在 Linux 中看到了这些东西,但它是什么?:

./configure  
make  
make install

等等等等

【问题讨论】:

  • 另一个问题是为什么开发人员不遵守,我看到很多软件让我自己遵守?
  • Linux 在许多不同的平台(不同的 CPU、架构、硬件、操作系统/内核版本等)上运行 - 为存在的无数可能配置提供预编译的二进制文件是不切实际的。跨度>
  • 有很多预编译的二进制文件。它们通常以 .deb 或 .rpm 结尾。如果您使用像 Ubuntu 这样的发行版,您可以从存储库中获得大部分预编译的软件。
  • @Paul - 虽然有少数占主导地位,而且流行的项目实际上确实提供了预编译的二进制文件。虽然可以说更好的方法是使用您的发行版的包系统来下拉预编译的二进制文件,这些二进制文件已经处理了所有相关的依赖信息。

标签: linux makefile


【解决方案1】:

./configure 是一个程序,它查看您的系统配置并为您的程序构建一些系统依赖项。 make 是一个程序,它查看您的 Makefile(可能由 configure 构建)并使用其中的规则来构建您的程序。 Makefile 可以有多个“目标”,它们是做不同事情的规则集——默认值通常只是编译和链接你的程序。当你说make 不带参数时,它会运行默认目标。当您说make install 时,您正在运行install 目标,该目标通常将默认目标构建的二进制文件或库安装在其最终位置。 clean 是另一个常见的 Makefile 目标,它删除所有生成的文件,如中间对象文件。

【讨论】:

    【解决方案2】:

    make 是 unix 类型系统中常用的构建系统的一部分 - binutils

    它查看包含配置信息和构建目标的 make 文件。

    具体来说-

    • ./configure - 这是为构建设置环境的脚本
    • make - 使用默认构建目标调用 make。通常会构建应用程序。
    • make install - 使用install 构建目标调用make。通常会安装应用程序。

    【讨论】:

    • @Paul Tomlin - 你在说什么?
    • 哦,我猜它被颠倒了。当我问这个问题时,你是 -1。
    • @Paul Tomlin - 哦。没看到:)
    【解决方案3】:

    configure 检查您是否具备构建软件的所有先决条件/依赖项。

    make 进行实际编译。

    make install 将软件安装到正确的位置。

    【讨论】:

      【解决方案4】:

      它基本上是一个构建系统。

      ./configure 检查您是否拥有所有必需的依赖项并创建 Makefile。
      make 使用 Makefile 的规则编译软件。
      make install 将软件移动到正确的位置文件系统。

      【讨论】:

      • 它“基本上”不是一个构建系统。它一个构建系统。
      【解决方案5】:

      Make 负责运行(有时非常复杂)将源代码控制构建到已编译的可执行文件或库中所需的指令和命令集。

      make (software)

      make 是一个从源代码自动构建可执行程序和库的实用程序

      【讨论】:

        【解决方案6】:

        './configure' 是一个可跨多个 Unix 系统(Linux、Solaris 等)移植的 shell 脚本。 './configure' 做了一些事情:测试构建环境,修复可移植性问题,检查其他可选软件,检查你想要安装软件包的位置等。你可以找出可以配置哪些选项通过'./configure --help'。只需调用 './configure' 只会使用它认为默认的任何内容配置包。运行“./configure”的主要输出文件通常是一个名为“Makefile”的文件,它是软件包的组合构建/安装/卸载指令。

        'make' 使用'Makefile' 来构建默认目标,它通常是需要构建的东西的整个集合。

        'make install' 使用 'Makefile' 构建安装软件的 'install' 目标。

        【讨论】:

          【解决方案7】:

          我发现这篇很棒的文章(了解软件安装 configure、make、make install)详细介绍了 configure、make 和 make install 的工作原理。不太浅也不太深,足以让一个人对 Linux 安装感到满意。 http://www.codecoffee.com/tipsforlinux/articles/27.html

          【讨论】:

            【解决方案8】:

            还有make clean

            这是一个很好的参考:http://makepp.sourceforge.net/1.19/makepp_tutorial.html

            【讨论】:

            • 参考文档中没有提到“/clean”。另外,您是说“/clean”是命令还是 make 目标?从字面上看,两者都不是。给出技术答案时,您需要准确。
            • 我很抱歉没有更准确。这是我为一个必须做的学校项目提交的简单 make 文件的示例(以及一些可以忽略的代码)...您可以在文件“makefile”中找到该示例。由于我已经编写了 makefile,然后您可以使用“/clean”删除由“/make”生成的目标文件。对于涉及将目标代码与应用程序链接的更复杂的编译,这需要更新,但它确实说明了我所说的基本概念。 download.bigsistechnologies.com/csc22001p1_burke.tar.gz
            • /make/clean 的前导斜杠是什么意思??
            • 我的错误。我累了,把它放进去。它是“make”和“make clean”。
            猜你喜欢
            • 2021-05-28
            • 1970-01-01
            • 2016-12-23
            • 2014-07-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-04
            • 1970-01-01
            相关资源
            最近更新 更多