zoukankan      html  css  js  c++  java
  • 解剖Nginx·自动脚本篇(2)设置初始变量脚本 auto/init

    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 "testc" | 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
    
  • 相关阅读:
    默比乌斯函数
    勒让德符号相关
    微积分入门("SX"T版)
    分治法求2n个数的中位数
    SSM框架学习之高并发秒杀业务--笔记1-- 项目的创建和依赖
    10月9日Android学习笔记:活动与服务之间的通信
    高精度加法
    Windows环境下多线程编程原理与应用读书笔记(4)————线程间通信概述
    郁闷
    素数链
  • 原文地址:https://www.cnblogs.com/breg/p/4043681.html
Copyright © 2011-2022 走看看