summaryrefslogtreecommitdiffhomepage
path: root/auto/make
blob: 1394a1d2132cad88e1b56e026606b3a941088152 (plain) (blame)
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

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


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