精读Nginx源码自动脚本篇(2)设置初始变量脚本 auto/init
精读 Nginx 源码自动脚本篇(2)设置初始变量脚本 auto/init- 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.hobjs/ngx_auto_config.h代码如下:
NGX_AUTO_HEADERS_H=$NGX_OBJS/ngx_auto_headers.hNGX_AUTO_CONFIG_H=$NGX_OBJS/ngx_auto_config.h
4 自动测试文件名与配置错误文件名变量
默认情况下是:
objs/autotestobjs/autoconf.err代码如下:
NGX_AUTOTEST=$NGX_OBJS/autotestNGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err
5 STUBS 相关变量
默认情况下是:
objs/autoconf.errobjs/Makefile代码如下:
# STUBsNGX_ERR=$NGX_OBJS/autoconf.errMAKEFILE=$NGX_OBJS/Makefile
6 PCH 相关变量
代码如下:
NGX_PCH=NGX_USE_PCH=
7 测试所在环境下"\c"和"-n"
由于 Nginx 支持多种操作系统,比如 Mac OS、Linux、Solaris 等。不同的系统下的 Shell 也小有差别。所以在auto/init脚本中有如下两个变量:
ngx_nngx_c代码如下:
# check the echo's "-n" option and "\c" capabilityif 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= fielse ngx_n= ngx_c='\c'fi
8 创建并写入 Makefile
还有两个 targets,default 执行 build,clean 执行rm -rf Makefile $NGX_OBJS。
# create Makefilecat << END > Makefiledefault: buildclean: rm -rf Makefile $NGX_OBJS
-
转载请注明来自“柳大的CSDN博客”:blog.csdn.net/Poechant
-
在configure中运行完auto/options脚本后,接着运行auto/init脚本,其中所做的工作如下。
1 Makefile文件名变量
默认情况下是:
objs/Makefile代码如下:
NGX_MAKEFILE=$NGX_OBJS/Makefile2 源文件名变量
默认情况下是:
objs/ngx_modules.c代码如下:
NGX_MODULES_C=$NGX_OBJS/ngx_modules.c3 头文件名变量
默认情况下是:
objs/ngx_auto_headers.hobjs/ngx_auto_config.h代码如下:
NGX_AUTO_HEADERS_H=$NGX_OBJS/ngx_auto_headers.hNGX_AUTO_CONFIG_H=$NGX_OBJS/ngx_auto_config.h4 自动测试文件名与配置错误文件名变量
默认情况下是:
objs/autotestobjs/autoconf.err代码如下:
NGX_AUTOTEST=$NGX_OBJS/autotestNGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err5 STUBS 相关变量
默认情况下是:
objs/autoconf.errobjs/Makefile代码如下:
# STUBsNGX_ERR=$NGX_OBJS/autoconf.errMAKEFILE=$NGX_OBJS/Makefile6 PCH 相关变量
代码如下:
NGX_PCH=NGX_USE_PCH=7 测试所在环境下"\c"和"-n"
由于 Nginx 支持多种操作系统,比如 Mac OS、Linux、Solaris 等。不同的系统下的 Shell 也小有差别。所以在
auto/init脚本中有如下两个变量:ngx_nngx_c代码如下:
# check the echo's "-n" option and "\c" capabilityif 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= fielse ngx_n= ngx_c='\c'fi8 创建并写入 Makefile
还有两个 targets,default 执行 build,clean 执行
rm -rf Makefile $NGX_OBJS。# create Makefilecat << END > Makefiledefault: buildclean: rm -rf Makefile $NGX_OBJS-
转载请注明来自“柳大的CSDN博客”:blog.csdn.net/Poechant
-