1

假设我们正在从其源代码安装一些库,这些库以 GNU 推广的方式分发。使用“./configure --prefix”指定安装位置时。

(1) Make是否在当前目录下生成二进制文件?然后 Make install 是否将它们从当前目录(即运行 Make 的位置)复制到 $prefix?如果答案是肯定的,我有两个问题,每个问题都针对不同的情况。

(2)当当前目录和$prefix不一样的时候,可以把当前目录下Make生成的文件全部删除,节省一些空间吗?

(3)当当前目录和$prefix相同时,会make install什么都不做或者把文件复制给自己?我可以跳过这make install一步吗?

4

2 回答 2

1

您的第一个问题的答案可能是肯定的。

至于其余的,您可能会发现一个make clean将整理由初始创建的文件的make.

我认为 makefile 将能够处理当前目录和 $prefix 不一样的情况,并做正确的事情。

当前目录通常不是 makefile 创建的文件的目的地。

(当然这取决于makefile的编写方式,所以我无法给出明确的答案,但我对我使用过的makefile通常印象深刻)

于 2009-11-15T03:14:18.303 回答
0
  1. 您是绝对正确的:make只需在当前目录中创建文件并将make install其复制到目标目录,基于脚本$prefix维护的其他变量。configure

  2. 您可以清除运行构建的整个目录。它不会被使用,因为,嗯,这就是“安装”的意思:你在一个目录中构建,文件被放置在系统的适当位置。

  3. 通常安装目标和您构建的目录不同。正在安装的文件的层次结构通常与构建系统的目录层次结构无关。只需安装到另一个目录:创建另一个目录很便宜。

于 2009-11-16T09:17:19.387 回答