为什么需要这样做(在容器目录中):
# cd /container/directory/
# ./configure
而不是:
# pwd
/external/path
# /container/directory/configure
也许是因为从 / container / directory / 中调用./configure
是在 / container / directory /
是否可以选择在 / container / directory / 中创建 / external / path 中的文件(makefile等)?
类似的东西:
# /container/directory/configure --CreateOutputFiles=/container/directory/
答案 0 :(得分:0)
autotools 显式设计为以您看到的方式工作(使用当前目录中的输出文件而不是configure脚本的目录),因为它们旨在支持out-of -tree构建。这就是构建可以发生在其他某处而不是源目录中的想法。
这使您可以以干净的方式进行每个arch构建,它可以让您轻松地吹走构建的文件而不是源文件等。
我不知道是否有一种可靠且可移植的方式来自动确定当前正在执行的脚本的位置(有关此问题的一些讨论,请参阅Bash FAQ 028)。如果没有那就让你自己想做的事情很难。
我不知道,一个标志可以让你在其他地方设置输出目录,但可能有一个。