您的位置:首页 > 运维架构 > Nginx

解剖 Nginx ·自动脚本篇(2)设置初始变量脚本 auto/init

2014-10-25 15:04 1091 查看
Author: Poechant

Blog: blog.CSDN.net/Poechant

Email: zhongchao.ustc#gmail.com (#->@)

Date: March 4th, 2012

Copyright © 柳大·Poechant

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


-

转载请注明来自“柳大的CSDN博客”:blog.csdn.net/Poechant
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: