comparison auto/make @ 280:7c7183b3ea8b

nginx-0.0.2-2004-03-05-11:34:24 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 05 Mar 2004 08:34:24 +0000
parents b79f021a644a
children 014292b55158
comparison
equal deleted inserted replaced
279:b79f021a644a 280:7c7183b3ea8b
2 mkdir -p $OBJS/src/core $OBJS/src/event $OBJS/src/event/modules \ 2 mkdir -p $OBJS/src/core $OBJS/src/event $OBJS/src/event/modules \
3 $OBJS/src/os/unix $OBJS/src/os/win32 \ 3 $OBJS/src/os/unix $OBJS/src/os/win32 \
4 $OBJS/src/http $OBJS/src/http/modules $OBJS/src/http/modules/proxy 4 $OBJS/src/http $OBJS/src/http/modules $OBJS/src/http/modules/proxy
5 5
6 6
7 modules="$CORE_MODULES $EVENT_MODULES $HTTP_MODULES \ 7 echo "CC = $CC" > $MAKEFILE
8 $HTTP_FILTER_MODULES $HTTP_NOT_MODIFIED_FILTER_MODULE" 8 echo "CFLAGS = $CFLAGS" >> $MAKEFILE
9 9 echo >> $MAKEFILE
10 10
11 echo "#include <ngx_config.h>" > $NGX_MODULES_C 11
12 echo "#include <ngx_core.h>" >> $NGX_MODULES_C 12 # CORE_DEPS
13 echo >> $NGX_MODULES_C 13
14 14 if [ $MAKE_SL = YES ]; then
15 for mod in $modules 15 echo $ngx_n "CORE_DEPS =" $ngx_c >> $MAKEFILE
16 do 16 else
17 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C 17 echo "CORE_DEPS = \\" >> $MAKEFILE
18 done 18 fi
19 19
20 echo >> $NGX_MODULES_C
21 echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
22
23 for mod in $modules
24 do
25 echo " &$mod," >> $NGX_MODULES_C
26 done
27
28 echo " NULL" >> $NGX_MODULES_C
29 echo "};" >> $NGX_MODULES_C
30
31
32 echo "CC = $CC" > $MAKEFILE
33 echo "CFLAGS = $CFLAGS" >> $MAKEFILE
34 echo >> $MAKEFILE
35
36 echo "CORE_DEPS = \\" >> $MAKEFILE
37 for dep in $CORE_DEPS 20 for dep in $CORE_DEPS
38 do 21 do
39 if [ $PLATFORM = win32 ]; then 22 if [ $MAKE_BS = YES ]; then
40 dep=`echo $dep | sed -e "s/\//\\\\\\/g"` 23 dep=`echo $dep | sed -e "s/\//\\\\\\/g"`
41 fi 24 fi
42 echo " $dep \\" >> $MAKEFILE 25
43 done 26 if [ $MAKE_SL = YES ]; then
44 echo >> $MAKEFILE 27 echo $ngx_n " $dep" $ngx_c >> $MAKEFILE
28 else
29 echo " $dep \\" >> $MAKEFILE
30 fi
31 done
32 echo >> $MAKEFILE
33
34
35 # CORE_INCS
36
37 if [ $MAKE_SL = YES ]; then
38 echo >> $MAKEFILE
39 fi
45 40
46 inc="$CORE_INCS -I $OBJS" 41 inc="$CORE_INCS -I $OBJS"
47 if [ $PLATFORM = win32 ]; then 42 if [ $INC_EQ = YES ]; then
43 inc=`echo $inc | sed -e "s/-I /-i=/g"`
44 fi
45
46 if [ $MAKE_BS = YES ]; then
48 inc=`echo $inc | sed -e "s/\//\\\\\\/g"` 47 inc=`echo $inc | sed -e "s/\//\\\\\\/g"`
49 fi 48 fi
50 echo "CORE_INCS = $inc" >> $MAKEFILE 49
51 echo >> $MAKEFILE 50 echo "CORE_INCS = $inc" >> $MAKEFILE
52 51 echo >> $MAKEFILE
53 echo "HTTP_DEPS = \\" >> $MAKEFILE 52
54 for inc in $HTTP_DEPS 53
55 do 54 # HTTP_DEPS
56 if [ $PLATFORM = win32 ]; then 55
57 inc=`echo $inc | sed -e "s/\//\\\\\\/g"` 56 if [ $MAKE_SL = YES ]; then
58 fi 57 echo $ngx_n "HTTP_DEPS =" $ngx_c >> $MAKEFILE
59 echo " $inc \\" >> $MAKEFILE 58 else
60 done 59 echo "HTTP_DEPS = \\" >> $MAKEFILE
61 echo >> $MAKEFILE 60 fi
62 61
63 inc="$HTTP_INCS" 62 for dep in $HTTP_DEPS
64 if [ $PLATFORM = win32 ]; then 63 do
64 if [ $MAKE_BS = YES ]; then
65 dep=`echo $dep | sed -e "s/\//\\\\\\/g"`
66 fi
67
68 if [ $MAKE_SL = YES ]; then
69 echo $ngx_n " $dep" $ngx_c >> $MAKEFILE
70 else
71 echo " $dep \\" >> $MAKEFILE
72 fi
73 done
74 echo >> $MAKEFILE
75
76
77 # HTTP_INCS
78
79 if [ $MAKE_SL = YES ]; then
80 echo >> $MAKEFILE
81 fi
82
83 inc="$HTTP_INCS -I $OBJS"
84 if [ $INC_EQ = YES ]; then
85 inc=`echo $inc | sed -e "s/-I /-i=/g"`
86 fi
87
88 if [ $MAKE_BS = YES ]; then
65 inc=`echo $inc | sed -e "s/\//\\\\\\/g"` 89 inc=`echo $inc | sed -e "s/\//\\\\\\/g"`
66 fi 90 fi
67 echo "HTTP_INCS = $inc" >> $MAKEFILE 91
68 echo >> $MAKEFILE 92 echo "HTTP_INCS = $inc" >> $MAKEFILE
69 93 echo >> $MAKEFILE
70 94
71 95
72 echo "nginx: \\" >> $MAKEFILE 96 # nginx
97
98 if [ $MAKE_SL = YES ]; then
99 echo $ngx_n "nginx: " $ngx_c >> $MAKEFILE
100 else
101 echo "nginx: \\" >> $MAKEFILE
102 fi
103
104
105 # nginx deps
73 106
74 for src in $CORE_SRCS $HTTP_SRCS 107 for src in $CORE_SRCS $HTTP_SRCS
75 do 108 do
76 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"` 109 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"`
77 obj="$OBJS/$obj" 110 obj="$OBJS/$obj"
78 if [ $PLATFORM = win32 ]; then 111
79 obj=`echo $obj | sed -e "s/\//\\\\\\/g"` 112 if [ $MAKE_BS = YES ]; then
80 fi 113 obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
81 114 fi
82 echo " $obj \\" >> $MAKEFILE 115
116 if [ $MAKE_SL = YES ]; then
117 echo $ngx_n " $obj" $ngx_c >> $MAKEFILE
118 else
119 echo " $obj \\" >> $MAKEFILE
120 fi
83 done 121 done
84 122
85 for src in $NGX_MODULES_C $LINK_DEPS 123 for src in $NGX_MODULES_C $LINK_DEPS
86 do 124 do
87 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"` 125 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`
88 if [ $PLATFORM = win32 ]; then 126
89 obj=`echo $obj | sed -e "s/\//\\\\\\/g"` 127 if [ $MAKE_BS = YES ]; then
90 fi 128 obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
91 129 fi
92 echo " $obj \\" >> $MAKEFILE 130
93 done 131 if [ $MAKE_SL = YES ]; then
94 132 echo $ngx_n " $obj" $ngx_c >> $MAKEFILE
95 echo >> $MAKEFILE 133 else
96 echo " \$(CC) ${BINOUT}nginx \\" >> $MAKEFILE 134 echo " $obj \\" >> $MAKEFILE
135 fi
136 done
137 echo >> $MAKEFILE
138
139
140 # nginx build
141
142 if [ $MAKE_SL = YES ]; then
143 echo $ngx_n " \$(CC) ${BINOUT}nginx" $ngx_c >> $MAKEFILE
144 else
145 echo " \$(CC) ${BINOUT}nginx \\" >> $MAKEFILE
146 fi
147
148
149 # nginx build sources
97 150
98 for src in $CORE_SRCS $HTTP_SRCS 151 for src in $CORE_SRCS $HTTP_SRCS
99 do 152 do
100 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"` 153 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"`
101 obj="$OBJS/$obj" 154 obj="$OBJS/$obj"
102 if [ $PLATFORM = win32 ]; then 155
103 obj=`echo $obj | sed -e "s/\//\\\\\\/g"` 156 if [ $MAKE_BS = YES ]; then
104 fi 157 obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
105 158 fi
106 echo " $obj \\" >> $MAKEFILE 159
107 done 160 if [ $MAKE_SL = YES ]; then
161 echo $ngx_n " $obj," $ngx_c >> $MAKEFILE
162 else
163 echo " $obj \\" >> $MAKEFILE
164 fi
165 done
166
167
168 # nginx build ngx_modules.c and libs
108 169
109 obj=`echo $NGX_MODULES_C | sed -e "s/\.c\$/.$OBJEXT/"` 170 obj=`echo $NGX_MODULES_C | sed -e "s/\.c\$/.$OBJEXT/"`
110 if [ $PLATFORM = win32 ]; then 171 libs=`echo $CORE_LIBS | sed -e "s/\.c\$/.$OBJEXT/"`
172 src=$NGX_MODULES_C
173 if [ $MAKE_BS = YES ]; then
111 obj=`echo $obj | sed -e "s/\//\\\\\\/g"` 174 obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
112 fi 175 src=`echo $src | sed -e "s/\//\\\\\\/g"`
113 echo " $obj \\" >> $MAKEFILE 176 libs=`echo $libs | sed -e "s/\//\\\\\\/g"`
114 echo " $CORE_LIBS \\" >> $MAKEFILE 177 fi
115 echo " $CORE_LINK" >> $MAKEFILE 178
116 echo >> $MAKEFILE 179 if [ $MAKE_SL = YES ]; then
117 180 echo " $obj $libs $CORE_LINK" >> $MAKEFILE
181 echo >> $MAKEFILE
182 else
183 echo " $obj \\" >> $MAKEFILE
184 echo " $CORE_LIBS \\" >> $MAKEFILE
185 echo " $CORE_LINK" >> $MAKEFILE
186 echo >> $MAKEFILE
187 fi
188
189
190 # ngx_modules.c
118 191
119 deps="\$(CORE_DEPS)" 192 deps="\$(CORE_DEPS)"
120 args="\$(CFLAGS) \$(CORE_INCS)" 193 args="\$(CFLAGS) \$(CORE_INCS)"
121 194
122 echo "$obj: \\" >> $MAKEFILE 195 if [ $MAKE_SL = YES ]; then
123 echo " $NGX_MODULES_C $deps" >> $MAKEFILE 196 echo "$obj: $NGX_MODULES_C $deps" >> $MAKEFILE
124 echo " \$(CC) -c $args \\" >> $MAKEFILE 197 echo $ngx_n " \$(CC) $COMPILEONLY $args" $ngx_c >> $MAKEFILE
125 echo " $OBJOUT$obj \\" >> $MAKEFILE 198 echo " $OBJOUT$obj $src" >> $MAKEFILE
126 echo " $NGX_MODULES_C" >> $MAKEFILE 199 echo >> $MAKEFILE
127 echo >> $MAKEFILE 200 else
128 201 echo "$obj: \\" >> $MAKEFILE
129 202 echo " $NGX_MODULES_C $deps" >> $MAKEFILE
130 203 echo " \$(CC) $COMPILEONLY $args \\" >> $MAKEFILE
204 echo " $OBJOUT$obj \\" >> $MAKEFILE
205 echo " $src" >> $MAKEFILE
206 echo >> $MAKEFILE
207 fi
208
209
210 # core sources
131 211
132 for src in $CORE_SRCS 212 for src in $CORE_SRCS
133 do 213 do
134 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"` 214 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/" -e "s/\.S\$/.$OBJEXT/"`
135 215 obj="$OBJS/$obj"
136 echo "$OBJS/$obj: \\" >> $MAKEFILE 216
137 echo " $src $deps" >> $MAKEFILE 217 if [ $MAKE_BS = YES ]; then
138 echo " \$(CC) -c $args \\" >> $MAKEFILE 218 obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
139 echo " $OBJOUT$OBJS/$obj \\" >> $MAKEFILE 219 src=`echo $src | sed -e "s/\//\\\\\\/g"`
140 echo " $src" >> $MAKEFILE 220 fi
141 echo >> $MAKEFILE 221
142 done 222 if [ $MAKE_SL = YES ]; then
143 223 echo "$obj: $src $deps" >> $MAKEFILE
224 echo " \$(CC) $COMPILEONLY $args $OBJOUT$obj $src" >> $MAKEFILE
225 echo >> $MAKEFILE
226 else
227 echo "$obj: \\" >> $MAKEFILE
228 echo " $src $deps" >> $MAKEFILE
229 echo " \$(CC) $COMPILEONLY $args \\" >> $MAKEFILE
230 echo " $OBJOUT$obj \\" >> $MAKEFILE
231 echo " $src" >> $MAKEFILE
232 echo >> $MAKEFILE
233 fi
234 done
235
236
237 # http sources
144 238
145 deps="\$(CORE_DEPS) \$(HTTP_DEPS)" 239 deps="\$(CORE_DEPS) \$(HTTP_DEPS)"
146 args="\$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)" 240 args="\$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)"
147 241
148 for src in $HTTP_SRCS 242 for src in $HTTP_SRCS
149 do 243 do
150 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"` 244 obj=`echo $src | sed -e "s/\.c\$/.$OBJEXT/"`
151 245 obj="$OBJS/$obj"
152 echo "$OBJS/$obj: \\" >> $MAKEFILE 246
153 echo " $src $deps" >> $MAKEFILE 247 if [ $MAKE_BS = YES ]; then
154 echo " \$(CC) -c $args \\" >> $MAKEFILE 248 obj=`echo $obj | sed -e "s/\//\\\\\\/g"`
155 echo " $OBJOUT$OBJS/$obj \\" >> $MAKEFILE 249 src=`echo $src | sed -e "s/\//\\\\\\/g"`
156 echo " $src" >> $MAKEFILE 250 fi
157 echo >> $MAKEFILE 251
158 done 252 if [ $MAKE_SL = YES ]; then
253 echo "$obj: $src $deps" >> $MAKEFILE
254 echo " \$(CC) $COMPILEONLY $args $OBJOUT$obj $src" >> $MAKEFILE
255 echo >> $MAKEFILE
256 else
257 echo "$obj: \\" >> $MAKEFILE
258 echo " $src $deps" >> $MAKEFILE
259 echo " \$(CC) $COMPILEONLY $args \\" >> $MAKEFILE
260 echo " $OBJOUT$obj \\" >> $MAKEFILE
261 echo " $src" >> $MAKEFILE
262 echo >> $MAKEFILE
263 fi
264 done