Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Directory 安装期间由Make从configure、Make和Make install生成的文件的目录_Directory_Makefile_Configure_Make Install - Fatal编程技术网

Directory 安装期间由Make从configure、Make和Make install生成的文件的目录

Directory 安装期间由Make从configure、Make和Make install生成的文件的目录,directory,makefile,configure,make-install,Directory,Makefile,Configure,Make Install,假设我们正在从GNU推广的方式分发的源代码安装一些库。使用“/configure--prefix”指定安装位置时 (1) 是否在当前目录下生成二进制文件?makeinstall是否将它们从当前目录(Make运行的地方)复制到$prefix?如果答案是肯定的,我有两个问题,每个问题针对不同的情况 (2) 当当前目录和$prefix不相同时,我可以删除当前目录下Make生成的所有文件以节省空间吗 (3) 当当前目录和$prefix相同时,makeinstall将不执行任何操作或将文件复制到它们自己?

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

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

(2) 当当前目录和$prefix不相同时,我可以删除当前目录下Make生成的所有文件以节省空间吗


(3) 当当前目录和$prefix相同时,
makeinstall
将不执行任何操作或将文件复制到它们自己?我可以跳过
makeinstall
步骤吗?

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

至于其余部分,您可以找到一个
makeclean
,它将整理由初始
make
创建的文件

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

当前目录通常不是makefiles创建的文件的目标


(当然,这取决于makefile是如何编写的,所以我不能给出明确的答案,但我对我使用的makefiles印象深刻)

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

至于其余部分,您可以找到一个
makeclean
,它将整理由初始
make
创建的文件

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

当前目录通常不是makefiles创建的文件的目标

(当然,这取决于makefile是如何编写的,所以我不能给出明确的答案,但我通常对我使用的makefiles印象深刻)

  • 您完全正确:
    make
    仅在当前目录中创建文件,并基于
    $prefix
    configure
    脚本维护的其他变量将其复制到目标目录

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

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

  • 您完全正确:
    make
    仅在当前目录中创建文件,并基于
    $prefix
    configure
    脚本维护的其他变量将其复制到目标目录

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

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


  • 谢谢我所说的当前目录是指运行make的目录。谢谢。我所说的当前目录是指运行make的目录。