|
|
1
66
通常,运行时的配置脚本将:
|
|
|
2
33
它运行一个脚本,该脚本通常生成makefile和“configure.h”。 脚本是用宏语言“m4”编写的。顶级宏位于autoconf.ac或(在旧系统中)autoconf.in中。这些扩展包含较低级别的宏,这些宏依次扩展为实际的测试,这些测试创建小程序或任务,以检查您拥有哪种类型的系统。 例如,AC_CHECK_HEADER([myheader.h],…)可能会生成一个很小的C程序,如:
如果程序编译,检查被认为是“通过”,否则它“失败”。此类检查的状态通常会反映在config.h文件中。在通过检查时,您可能会在config.h中找到一行,如下所示:
当配置为在AM\u INIT\u AUTOMAKE宏中使用autoconf时,如果导出了包含测试结果的变量,Makefile还可以引用测试结果。因此,如果所需的库位于几个不同的典型位置,或者使用标准工具(如tar、ar等)的“what works”语法不同,或者首选工具不可用,那么Makefile仍然能够使用不同的库位置、不同的工具语法正确地构建项目,或者一套不同的工具。
|
|
|
3
7
配置脚本从模板中构建Mag文件,用诸如要安装代码的地方和用于构建程序的(C,C++,FORTRAN,…)编译器需要什么定义来替代。理论上说,这一切都可以在一个步骤中完成,除了有许多不同的配置可能,这是更容易做到的阶段(例如,如果使用多核计算机构建一个大型程序,您可能希望指定发生一定数量的并行编译,这与如何配置无关。) |
|
|
Jeremy L. · 在变量名中查找子字符串 1 年前 |
|
|
wvxvw · 在Make规则中将源和目标配对 1 年前 |
|
|
thetango · Makefile:多次执行目标 1 年前 |
|
|
Bokambo · make:MakeFile无需执行任何操作 1 年前 |