在configure中运行完auto/option脚本之后,接着就会运行auto/init脚本。其主要是定义生成的文件名。
参看:http://blog.csdn.net/poechant/article/details/7327206
1. auto/init脚本
在分析脚本之前,我们这里贴出其源代码:
(1) Makefile文件名变量
默认情况下是:objs/Makefile
(2) 源文件名变量
默认情况下是:objs/ngx_modules.c
(3) 头文件名变量
默认情况下是:
- objs/ngx_auto_header.h
- objs/ngx_auto_config.h
(4) 自动测试文件名和配置错误文件名变量
默认情况下是:
- objs/autotest
- objs/autoconf.err
(5) STUBS相关变量
默认情况下是:
- objs/autoconf.err
- objs/Makefile
(6) PCH相关变量
(7) 测试所在环境下”-n”和”\c”
由于Nginx支持多种操作系统,比如Mac OS、Linux、Solaris等,不同的系统下的shell也有小的差别。所以在auto/init脚本中有如下两个变量:
- ngx_n: 若为空,表示会在末尾添加一个换行符;否则值为-n表示不在末尾添加一个换行符。
- ngx_c:若为空,则不具备退行功能;否则值为\c表示具有退行功能。
说明:
在UNIX下,echo输出内容以后,默认会添加输出一个换行符,以便下一次echo从下一行开始输出。而在输出内容末尾添加一个\c可以改变这一规则,输出内容完毕后光标仍然在本行,下一个echo的内功接在后面。
(8) 创建并写入Makefile