aboutsummaryrefslogtreecommitdiff
path: root/auto/make
blob: c210d7e2b1a271bd43a51a5ca7b2556b38d576bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
mkdir -p $OBJS/src/core $OBJS/src/event $OBJS/src/event/modules \
         $OBJS/src/os/unix $OBJS/src/os/win32 \
         $OBJS/src/http $OBJS/src/http/modules $OBJS/src/http/modules/proxy


HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES \
                     $HTTP_CHUNKED_FILTER_MODULE \
                     $HTTP_RANGE_FILTER_MODULE \
                     $HTTP_CHARSET_FILTER_MODULE"

HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE $HTTP_INDEX_MODULE"

if [ $HTTP_REWRITE = YES ]; then
    HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
    HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
fi

if [ $HTTP_GZIP = YES ]; then
    HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
    HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
fi

if [ $HTTP_PROXY = YES ]; then
    HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
    HTTP_INCS="$HTTP_INCS $HTTP_PROXY_INCS"
    HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
    HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
fi

modules="$CORE_MODULES $EVENT_MODULES $HTTP_MODULES \
         $HTTP_FILTER_MODULES $HTTP_NOT_MODIFIED_FILTER_MODULE"


echo "#include <ngx_config.h>"                > $NGX_MODULES_C
echo "#include <ngx_core.h>"                  >> $NGX_MODULES_C
echo                                          >> $NGX_MODULES_C

for mod in $modules
do
    echo "extern ngx_module_t  $mod;"         >> $NGX_MODULES_C
done

echo                                          >> $NGX_MODULES_C
echo 'ngx_module_t *ngx_modules[] = {'        >> $NGX_MODULES_C

for mod in $modules
do
    echo "    &$mod,"                         >> $NGX_MODULES_C
done

echo "    NULL"                               >> $NGX_MODULES_C
echo "};"                                     >> $NGX_MODULES_C


echo "CC = $CC"                               > $MAKEFILE
echo "CFLAGS = $CFLAGS"                       >> $MAKEFILE
echo                                          >> $MAKEFILE

echo "CORE_DEPS = \\"                         >> $MAKEFILE
for dep in $CORE_DEPS
do
    echo "	$dep \\"                      >> $MAKEFILE
done
echo                                          >> $MAKEFILE

echo "CORE_INCS = $CORE_INCS -I $OBJS"        >> $MAKEFILE
echo                                          >> $MAKEFILE

echo "HTTP_DEPS = \\"                         >> $MAKEFILE
for inc in $HTTP_DEPS
do
    echo "	$inc \\"                      >> $MAKEFILE
done
echo                                          >> $MAKEFILE

echo "HTTP_INCS = $HTTP_INCS"                 >> $MAKEFILE
echo                                          >> $MAKEFILE



echo "nginx: \\"                              >> $MAKEFILE

for src in $CORE_SRCS $HTTP_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`
    echo "	$OBJS/$obj \\"                >> $MAKEFILE
done

for src in $NGX_MODULES_C $LINK_DEPS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`
    echo "	$obj \\"                      >> $MAKEFILE
done

echo                                          >> $MAKEFILE
echo "	\$(CC) ${BINOUT}nginx \\"             >> $MAKEFILE

for src in $CORE_SRCS $HTTP_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`
    echo "	$OBJS/$obj \\"                >> $MAKEFILE
done

obj=`echo $NGX_MODULES_C | sed -e "s/\.c\$/.$OBJEXT/"`
echo "	$obj \\"                              >> $MAKEFILE
echo "	$CORE_LIBS \\"                        >> $MAKEFILE
echo "	$CORE_LINK"                           >> $MAKEFILE
echo                                          >> $MAKEFILE


deps="\$(CORE_DEPS)"
args="\$(CFLAGS) \$(CORE_INCS)"

echo "$obj: \\"                               >> $MAKEFILE
echo "	$NGX_MODULES_C $deps"                 >> $MAKEFILE
echo "	\$(CC) -c $args \\"                   >> $MAKEFILE
echo "		$OBJOUT$obj \\"               >> $MAKEFILE
echo "		$NGX_MODULES_C"               >> $MAKEFILE
echo                                          >> $MAKEFILE




for src in $CORE_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`

    echo "$OBJS/$obj: \\"                     >> $MAKEFILE
    echo "	$src $deps"                   >> $MAKEFILE
    echo "	\$(CC) -c $args \\"           >> $MAKEFILE
    echo "		$OBJOUT$OBJS/$obj \\" >> $MAKEFILE
    echo "		$src"                 >> $MAKEFILE
    echo                                      >> $MAKEFILE
done


deps="\$(CORE_DEPS) \$(HTTP_DEPS)"
args="\$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)"

for src in $HTTP_SRCS
do
    obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`

    echo "$OBJS/$obj: \\"                     >> $MAKEFILE
    echo "	$src $deps"                   >> $MAKEFILE
    echo "	\$(CC) -c $args \\"           >> $MAKEFILE
    echo "		$OBJOUT$OBJS/$obj \\" >> $MAKEFILE
    echo "		$src"                 >> $MAKEFILE
    echo                                      >> $MAKEFILE
done