unix - ./configure 我可以使用/some/path/configure - Unix, Linux

标签 unix path makefile installation configure

为什么需要做(在容器目录内):

# cd /container/directory/
# ./configure

代替:
# pwd
/external/path
# /container/directory/configure 

也许是因为打电话./configure从/container/directory/是在/container/directory/内创建的文件

是否可以选择在从/external/path 调用的/container/directory/内部创建文件(makefiles 等)?

就像是:
# /container/directory/configure --CreateOutputFiles=/container/directory/

最佳答案

autotools 被明确设计为以您所看到的方式工作(输出文件在当前目录中,而不是配置脚本的目录中),因为它们旨在支持树外构建。这就是构建可以发生在源目录之外的其他地方的想法。

这使您可以以干净的方式进行每个架构的构建,它可以让您轻松地只删除构建的文件而不是源文件等。

我不知道是否有一种可靠且可移植的方式来自动确定当前正在执行的脚本的位置(请参阅 Bash FAQ 028 以了解有关此问题的一些讨论)。如果没有,那么做你想做的事情就会自动变得困难。

我不知道有一个标志可以让你在其他地方设置输出目录,但可能有一个。

关于unix - ./configure 我可以使用/some/path/configure - Unix, Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31404897/

相关文章:

python - “pip”不被识别为内部或外部命令、可操作程序或批处理文件

path - Windows 10 中是否仍然存在 MAX_PATH 问题

具有多个依赖项的 Makefile 目标

shell - 从子 shell 运行 shell 命令

linux - 为什么双引号会影响 linux 中这些 echo 语句的打印?

c - recvfrom() 总是返回零远程地址

c - C 中的正则表达式 - 匹配组

javascript - 如何在 D3.js 中操作特定的 SVG 路径

c++ - 在 Tensorflow 中使用 Makefile 选项时出错

C++ - 编译多个文件