这个问题一直困扰着我。我似乎总是看到构建说明,在构建和安装某些东西时,会提示这样做:
make
sudo make install
真的有任何理由要调用 吗make
? 不sudo make install
隐式调用吗make
?
答案1
从技术上讲,没有理由不这样做 - 这实际上是基于 makefile 的设置方式。它都是围绕依赖关系设计的。如果“安装”目标依赖于产品的其余部分,那么它将隐式地构建产品,就像你正在想的那样。
将它们分开的原因在于,您通常会以非特权开发人员的身份执行“make”,并以提升的权限执行“make install”。通常您不想混淆这些操作。
答案2
这两个命令的作用不同。
制作- 这会读取 makefile 以获取有关如何编译源代码的说明。它会构建程序,最终结果是二进制文件。
进行安装- 这将读取目标安装目录的 makefile,并将 make 创建的文件放入其适当的目录中。