解析配置选项脚本 auto/options(2)

在configure中运行完auto/options脚本后,接着运行auto/init脚本,其中所做的工作如下。

1 Makefile文件名变量

默认情况下是:

objs/Makefile

代码如下:

NGX_MAKEFILE=$NGX_OBJS/Makefile 2 源文件名变量

默认情况下是:

objs/ngx_modules.c

代码如下:

NGX_MODULES_C=$NGX_OBJS/ngx_modules.c 3 头文件名变量

默认情况下是:

objs/ngx_auto_headers.h objs/ngx_auto_config.h

代码如下:

NGX_AUTO_HEADERS_H=$NGX_OBJS/ngx_auto_headers.h NGX_AUTO_CONFIG_H=$NGX_OBJS/ngx_auto_config.h 4 自动测试文件名与配置错误文件名变量

默认情况下是:

objs/autotest objs/autoconf.err

代码如下:

NGX_AUTOTEST=$NGX_OBJS/autotest NGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err 5 STUBS 相关变量

默认情况下是:

objs/autoconf.err objs/Makefile

代码如下:

# STUBs NGX_ERR=$NGX_OBJS/autoconf.err MAKEFILE=$NGX_OBJS/Makefile 6 PCH 相关变量

代码如下:

NGX_PCH= NGX_USE_PCH= 7 测试所在环境下"\c"和"-n"

由于 Nginx 支持多种操作系统,比如 Mac OS、Linux、Solaris 等。不同的系统下的 Shell 也小有差别。所以在auto/init脚本中有如下两个变量:

ngx_n ngx_c

代码如下:

# check the echo's "-n" option and "\c" capability if echo "test\c" | grep c >/dev/null; then if echo -n test | grep n >/dev/null; then ngx_n= ngx_c= else ngx_n=-n ngx_c= fi else ngx_n= ngx_c='\c' fi 8 创建并写入 Makefile

还有两个 targets,default 执行 build,clean 执行rm -rf Makefile $NGX_OBJS。

# create Makefile cat << END > Makefile default: build clean: rm -rf Makefile $NGX_OBJS

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/970f79d01fa3b1b849adbcd8af645d2d.html