![不同的“make”命令之间有什么区别?](https://linux22.com/image/1383362/%E4%B8%8D%E5%90%8C%E7%9A%84%E2%80%9Cmake%E2%80%9D%E5%91%BD%E4%BB%A4%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
因此,在不同应用程序的源代码上运行configure
文件后,输入make
并make install
安装应用程序。我的问题是make
和之间有什么区别make install
?
答案1
make
寻找第一的Makefile 中的目标。(GNU Make 允许对此进行配置。)
make install
寻找名为“ install
”的目标。
答案2
Make install 是 Makefile 中各种可能的目标之一。举一个简单的例子,另一个非常常见的目标就是 clean:make clean 通常清除临时文件,这些临时文件是编译过程中必需/有用的副产品,但在生成最终可执行文件后就不再需要了。
Make install 包含将编译产品插入系统的指令,例如通过运行负责模块安装的必要的 depmod 命令。
那为什么必须同时运行两者呢?!
因为第一个可以以普通用户身份执行,所以第二个通常需要系统权限。
如果您的下一个问题是:那么为什么不以 sudo 身份运行两者,那么答案是并非所有安装都将在系统范围内使用。例如,如果您在有权访问的系统上没有 root 权限,您可能希望编译和安装给定的软件包以供自己专用。在这种情况下,您希望能够编译它并将其传递给链接器,但您无法安装它以供所有系统用户使用。在这种情况下,差异的原因是显而易见的。
换句话说,安装过程的每个阶段都经过组织,以便能够以最低的权限执行,只要有意义,就可以进行系统范围和本地安装。