首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

通读Nginx源码·自动脚本篇(2)设置初始变量脚本 auto/init

2012-07-04 
精读Nginx源码·自动脚本篇(2)设置初始变量脚本 auto/init精读 Nginx 源码·自动脚本篇(2)设置初始变量脚本

精读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.h
        • objs/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/autotest
          • objs/autoconf.err

            代码如下:

            NGX_AUTOTEST=$NGX_OBJS/autotestNGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err

            5 STUBS 相关变量

            默认情况下是:

            • objs/autoconf.err
            • objs/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_n
              • ngx_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

                -

热点排行