假设我们正在通过GNU推广的方式从其源代码安装一些库。使用“./configure --prefix”指定安装位置时。
(1)Make生成当前目录下的二进制文件吗? Make install然后将它们从当前目录(从Make运行的地方)复制到$ prefix吗?如果答案是肯定的,我有两个问题,每个问题针对不同的情况。
(2)当前目录和$前缀不相同时,是否可以删除当前目录下Make生成的所有文件以节省一些空间?
(3)当前目录和$前缀相同时,make install
会不做任何事情或将文件复制到自己身上?我可以跳过make install
步骤吗?
答案 0 :(得分:1)
你的第一个问题的答案可能是肯定的。
至于其余部分,您可能会找到一个make clean
,它会整理初始make
创建的文件。
我认为makefile将能够处理当前目录和$前缀不一样的情况,并做正确的事情。
当前目录通常不是makefile创建的文件的目标。
(当然这取决于makefile的编写方式,所以我无法给出明确的答案,但我对使用过的makefile一直印象深刻)
答案 1 :(得分:0)
你是绝对正确的:make
只是在当前目录中创建文件,make install
根据$prefix
和{{1}维护的其他变量将其复制到目标目录脚本。
您可以清除运行构建的整个目录。它不会被使用,因为,这就是“安装”的意思:你构建在一个目录中,文件放在你系统的适当位置。
通常安装目标,您构建的目录不同。正在安装的文件的层次结构通常与构建系统的目录层次结构无关。只需安装到另一个目录:创建另一个目录很便宜。