Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 1 | |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 2 | # Copyright (C) Igor Sysoev |
| 3 | |
| 4 | |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 5 | mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \ |
| 6 | $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \ |
| 7 | $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \ |
Igor Sysoev | 9bf11aa | 2006-01-16 14:56:53 +0000 | [diff] [blame] | 8 | $NGX_OBJS/src/http/modules/perl \ |
Igor Sysoev | 85dd8fc | 2008-03-18 10:36:27 +0000 | [diff] [blame] | 9 | $NGX_OBJS/src/mail \ |
| 10 | $NGX_OBJS/src/misc |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 11 | |
| 12 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 13 | ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep |
| 14 | ngx_use_pch=`echo $NGX_USE_PCH | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 15 | |
| 16 | |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 17 | cat << END > $NGX_MAKEFILE |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 18 | |
| 19 | CC = $CC |
| 20 | CFLAGS = $CFLAGS |
| 21 | CPP = $CPP |
| 22 | LINK = $LINK |
| 23 | |
| 24 | END |
| 25 | |
Igor Sysoev | da173ab | 2006-08-30 10:39:17 +0000 | [diff] [blame] | 26 | if test -n "$NGX_PERL_CFLAGS"; then |
| 27 | echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS >> $NGX_MAKEFILE |
| 28 | echo NGX_PM_CFLAGS = $NGX_PM_CFLAGS >> $NGX_MAKEFILE |
| 29 | fi |
| 30 | |
Igor Sysoev | 8a2b2fb | 2006-04-14 09:53:38 +0000 | [diff] [blame] | 31 | if [ "$BMAKE" = wmake ]; then |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 32 | echo MAKE = wmake >> $NGX_MAKEFILE |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 33 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 34 | ngx_regex_cont=' ' |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 35 | ngx_long_regex_cont=' ' |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 36 | ngx_cont=' ' |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 37 | ngx_long_cont=' ' |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 38 | ngx_tab=' ' |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 39 | |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 40 | fi |
| 41 | |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 42 | |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 43 | # ALL_INCS, required by the addons and by OpenWatcom C precompiled headers |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 44 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 45 | ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS\ |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 46 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
| 47 | -e "s/\//$ngx_regex_dirsep/g"` |
| 48 | |
| 49 | cat << END >> $NGX_MAKEFILE |
| 50 | |
| 51 | ALL_INCS = $ngx_include_opt$ngx_incs |
| 52 | |
| 53 | END |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 54 | |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 55 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 56 | ngx_all_srcs="$CORE_SRCS" |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 57 | |
| 58 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 59 | # the core dependences and include pathes |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 60 | |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 61 | ngx_deps=`echo $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH \ |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 62 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
| 63 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 64 | |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 65 | ngx_incs=`echo $CORE_INCS $NGX_OBJS \ |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 66 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
| 67 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 68 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 69 | cat << END >> $NGX_MAKEFILE |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 70 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 71 | CORE_DEPS = $ngx_deps |
| 72 | |
| 73 | |
| 74 | CORE_INCS = $ngx_include_opt$ngx_incs |
| 75 | |
| 76 | END |
| 77 | |
| 78 | |
| 79 | # the http dependences and include pathes |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 80 | |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 81 | if [ $HTTP = YES ]; then |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 82 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 83 | ngx_all_srcs="$ngx_all_srcs $HTTP_SRCS" |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 84 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 85 | ngx_deps=`echo $HTTP_DEPS \ |
| 86 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
| 87 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 88 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 89 | ngx_incs=`echo $HTTP_INCS \ |
| 90 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
| 91 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 92 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 93 | cat << END >> $NGX_MAKEFILE |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 94 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 95 | HTTP_DEPS = $ngx_deps |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 96 | |
| 97 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 98 | HTTP_INCS = $ngx_include_opt$ngx_incs |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 99 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 100 | END |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 101 | |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 102 | fi |
| 103 | |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 104 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 105 | # the mail dependences and include pathes |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 106 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 107 | if [ $MAIL = YES ]; then |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 108 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 109 | ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS" |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 110 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 111 | ngx_deps=`echo $MAIL_DEPS \ |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 112 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
| 113 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 114 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 115 | ngx_incs=`echo $MAIL_INCS \ |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 116 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
| 117 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 118 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 119 | cat << END >> $NGX_MAKEFILE |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 120 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 121 | MAIL_DEPS = $ngx_deps |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 122 | |
| 123 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 124 | MAIL_INCS = $ngx_include_opt$ngx_incs |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 125 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 126 | END |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 127 | |
| 128 | fi |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 129 | |
| 130 | |
Igor Sysoev | 85dd8fc | 2008-03-18 10:36:27 +0000 | [diff] [blame] | 131 | ngx_all_srcs="$ngx_all_srcs $NGX_MISC_SRCS" |
| 132 | |
| 133 | |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 134 | if test -n "$NGX_ADDON_SRCS"; then |
| 135 | |
| 136 | cat << END >> $NGX_MAKEFILE |
| 137 | |
Igor Sysoev | e573380 | 2005-09-08 14:36:09 +0000 | [diff] [blame] | 138 | ADDON_DEPS = \$(CORE_DEPS) $NGX_ADDON_DEPS |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 139 | |
| 140 | END |
| 141 | |
| 142 | fi |
| 143 | |
| 144 | |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 145 | # nginx |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 146 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 147 | ngx_all_srcs=`echo $ngx_all_srcs | sed -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 148 | |
| 149 | for ngx_src in $NGX_ADDON_SRCS |
| 150 | do |
| 151 | ngx_obj="addon/`basename \`dirname $ngx_src\``" |
| 152 | |
| 153 | test -d $NGX_OBJS/$ngx_obj || mkdir -p $NGX_OBJS/$ngx_obj |
| 154 | |
| 155 | ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ |
| 156 | | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 157 | |
| 158 | ngx_all_srcs="$ngx_all_srcs $ngx_obj" |
| 159 | done |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 160 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 161 | ngx_all_objs=`echo $ngx_all_srcs \ |
Igor Sysoev | bb28b6d | 2006-07-11 13:20:19 +0000 | [diff] [blame] | 162 | | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \ |
| 163 | -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \ |
| 164 | -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \ |
| 165 | -e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"` |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 166 | |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 167 | ngx_modules_c=`echo $NGX_MODULES_C | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 168 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 169 | ngx_modules_obj=`echo $ngx_modules_c | sed -e "s/\(.*\.\)c/\1$ngx_objext/"` |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 170 | |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 171 | |
| 172 | if test -n "$NGX_RES"; then |
| 173 | ngx_res=$NGX_RES |
| 174 | else |
| 175 | ngx_res="$NGX_RC $NGX_ICONS" |
| 176 | ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 177 | fi |
| 178 | |
| 179 | ngx_deps=`echo $ngx_all_objs $ngx_modules_obj $ngx_res $LINK_DEPS \ |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 180 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
| 181 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | a536298 | 2004-03-04 07:04:55 +0000 | [diff] [blame] | 182 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 183 | ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \ |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 184 | | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \ |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 185 | -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 186 | |
Igor Sysoev | 8f12558 | 2006-07-28 15:16:17 +0000 | [diff] [blame] | 187 | if test -n "$NGX_LD_OPT$CORE_LIBS"; then |
| 188 | ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \ |
| 189 | | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"` |
| 190 | fi |
Igor Sysoev | a536298 | 2004-03-04 07:04:55 +0000 | [diff] [blame] | 191 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 192 | ngx_link=${CORE_LINK:+`echo $CORE_LINK \ |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 193 | | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 194 | |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 195 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 196 | cat << END >> $NGX_MAKEFILE |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 197 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 198 | $NGX_OBJS${ngx_dirsep}nginx${ngx_binext}: $ngx_deps$ngx_spacer |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 199 | \$(LINK) ${ngx_long_start}${ngx_binout}$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 200 | $ngx_rcc |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 201 | ${ngx_long_end} |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 202 | END |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 203 | |
| 204 | |
| 205 | # ngx_modules.c |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 206 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 207 | if test -n "$NGX_PCH"; then |
| 208 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 209 | else |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 210 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS)" |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 211 | fi |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 212 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 213 | cat << END >> $NGX_MAKEFILE |
| 214 | |
| 215 | $ngx_modules_obj: \$(CORE_DEPS)$ngx_cont$ngx_modules_c |
Igor Sysoev | 7845223 | 2005-10-12 13:50:36 +0000 | [diff] [blame] | 216 | $ngx_cc$ngx_tab$ngx_objout$ngx_modules_obj$ngx_tab$ngx_modules_c$NGX_AUX |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 217 | |
| 218 | END |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 219 | |
| 220 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 221 | # the core sources |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 222 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 223 | for ngx_src in $CORE_SRCS |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 224 | do |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 225 | ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 226 | ngx_obj=`echo $ngx_src \ |
Igor Sysoev | bb28b6d | 2006-07-11 13:20:19 +0000 | [diff] [blame] | 227 | | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 228 | -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 229 | -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 230 | -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 231 | |
| 232 | cat << END >> $NGX_MAKEFILE |
| 233 | |
| 234 | $ngx_obj: \$(CORE_DEPS)$ngx_cont$ngx_src |
Igor Sysoev | 7845223 | 2005-10-12 13:50:36 +0000 | [diff] [blame] | 235 | $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 236 | |
| 237 | END |
| 238 | |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 239 | done |
| 240 | |
| 241 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 242 | # the http sources |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 243 | |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 244 | if [ $HTTP = YES ]; then |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 245 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 246 | if test -n "$NGX_PCH"; then |
| 247 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 248 | else |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 249 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)" |
Igor Sysoev | da173ab | 2006-08-30 10:39:17 +0000 | [diff] [blame] | 250 | ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS) " |
| 251 | ngx_perl_cc="$ngx_perl_cc \$(CORE_INCS) \$(HTTP_INCS)" |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 252 | fi |
| 253 | |
Igor Sysoev | da173ab | 2006-08-30 10:39:17 +0000 | [diff] [blame] | 254 | for ngx_source in $HTTP_SRCS |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 255 | do |
Igor Sysoev | da173ab | 2006-08-30 10:39:17 +0000 | [diff] [blame] | 256 | ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 257 | ngx_obj=`echo $ngx_src \ |
Igor Sysoev | bb28b6d | 2006-07-11 13:20:19 +0000 | [diff] [blame] | 258 | | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 259 | -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 260 | -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 261 | -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 262 | |
Igor Sysoev | da173ab | 2006-08-30 10:39:17 +0000 | [diff] [blame] | 263 | if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then |
| 264 | |
| 265 | cat << END >> $NGX_MAKEFILE |
| 266 | |
| 267 | $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src |
| 268 | $ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
| 269 | |
| 270 | END |
| 271 | else |
| 272 | |
| 273 | cat << END >> $NGX_MAKEFILE |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 274 | |
| 275 | $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src |
Igor Sysoev | 7845223 | 2005-10-12 13:50:36 +0000 | [diff] [blame] | 276 | $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 277 | |
| 278 | END |
Igor Sysoev | da173ab | 2006-08-30 10:39:17 +0000 | [diff] [blame] | 279 | |
| 280 | fi |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 281 | done |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 282 | |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 283 | fi |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 284 | |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 285 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 286 | # the mail sources |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 287 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 288 | if [ $MAIL = YES ]; then |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 289 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 290 | if test -n "$NGX_PCH"; then |
| 291 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 292 | else |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 293 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(MAIL_INCS)" |
Igor Sysoev | ab9d5fd | 2004-03-05 08:34:24 +0000 | [diff] [blame] | 294 | fi |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 295 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 296 | for ngx_src in $MAIL_SRCS |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 297 | do |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 298 | ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 299 | ngx_obj=`echo $ngx_src \ |
Igor Sysoev | bb28b6d | 2006-07-11 13:20:19 +0000 | [diff] [blame] | 300 | | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 301 | -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 302 | -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 303 | -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 304 | |
| 305 | cat << END >> $NGX_MAKEFILE |
| 306 | |
Igor Sysoev | 02c8d18 | 2007-03-19 13:36:56 +0000 | [diff] [blame] | 307 | $ngx_obj: \$(CORE_DEPS) \$(MAIL_DEPS)$ngx_cont$ngx_src |
Igor Sysoev | 7845223 | 2005-10-12 13:50:36 +0000 | [diff] [blame] | 308 | $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 309 | |
| 310 | END |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 311 | done |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 312 | |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 313 | fi |
| 314 | |
| 315 | |
Igor Sysoev | 85dd8fc | 2008-03-18 10:36:27 +0000 | [diff] [blame] | 316 | # the misc sources |
| 317 | |
| 318 | if test -n "$NGX_MISC_SRCS"; then |
| 319 | |
| 320 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" |
| 321 | |
| 322 | for ngx_src in $NGX_MISC_SRCS |
| 323 | do |
| 324 | ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 325 | ngx_obj=`echo $ngx_src \ |
| 326 | | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 327 | -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 328 | -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 329 | -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` |
| 330 | |
| 331 | cat << END >> $NGX_MAKEFILE |
| 332 | |
| 333 | $ngx_obj: \$(CORE_DEPS) $ngx_cont$ngx_src |
| 334 | $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
| 335 | |
| 336 | END |
| 337 | done |
| 338 | |
| 339 | fi |
| 340 | |
| 341 | |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 342 | # the addons sources |
| 343 | |
| 344 | if test -n "$NGX_ADDON_SRCS"; then |
| 345 | |
| 346 | ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" |
| 347 | |
| 348 | for ngx_src in $NGX_ADDON_SRCS |
| 349 | do |
| 350 | ngx_obj="addon/`basename \`dirname $ngx_src\``" |
| 351 | |
| 352 | ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ |
| 353 | | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 354 | |
| 355 | ngx_obj=`echo $ngx_obj \ |
Igor Sysoev | bb28b6d | 2006-07-11 13:20:19 +0000 | [diff] [blame] | 356 | | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 357 | -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 358 | -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
| 359 | -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 360 | |
| 361 | ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 362 | |
| 363 | cat << END >> $NGX_MAKEFILE |
| 364 | |
| 365 | $ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src |
Igor Sysoev | 7845223 | 2005-10-12 13:50:36 +0000 | [diff] [blame] | 366 | $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
Igor Sysoev | 1ebfead | 2005-02-16 13:40:36 +0000 | [diff] [blame] | 367 | |
| 368 | END |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 369 | done |
Igor Sysoev | 59cf56c | 2004-09-07 15:29:22 +0000 | [diff] [blame] | 370 | |
| 371 | fi |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 372 | |
| 373 | |
Igor Sysoev | 305a9d8 | 2005-12-26 17:07:48 +0000 | [diff] [blame] | 374 | # the addons config.make |
| 375 | |
| 376 | if test -n "$NGX_ADDONS"; then |
| 377 | |
| 378 | for ngx_addon_dir in $NGX_ADDONS |
| 379 | do |
| 380 | if test -f $ngx_addon_dir/config.make; then |
| 381 | . $ngx_addon_dir/config.make |
| 382 | fi |
| 383 | done |
| 384 | fi |
| 385 | |
| 386 | |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 387 | # Win32 resource file |
| 388 | |
| 389 | if test -n "$NGX_RES"; then |
| 390 | |
| 391 | ngx_res=`echo "$NGX_RES: $NGX_RC $NGX_ICONS" \ |
| 392 | | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 393 | ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 394 | |
| 395 | cat << END >> $NGX_MAKEFILE |
| 396 | |
| 397 | $ngx_res |
| 398 | $ngx_rcc |
| 399 | |
| 400 | END |
| 401 | |
| 402 | fi |
| 403 | |
| 404 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 405 | # the precompiled headers |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 406 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 407 | if test -n "$NGX_PCH"; then |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 408 | echo "#include <ngx_config.h>" > $NGX_OBJS/ngx_pch.c |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 409 | |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 410 | ngx_pch="src/core/ngx_config.h $OS_CONFIG $NGX_OBJS/ngx_auto_config.h" |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 411 | ngx_pch=`echo "$NGX_PCH: $ngx_pch" | sed -e "s/\//$ngx_regex_dirsep/g"` |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 412 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 413 | ngx_src="\$(CC) \$(CFLAGS) $NGX_BUILD_PCH $ngx_compile_opt \$(ALL_INCS)" |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 414 | ngx_src="$ngx_src $ngx_objout$NGX_OBJS/ngx_pch.obj $NGX_OBJS/ngx_pch.c" |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 415 | ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
| 416 | |
| 417 | cat << END >> $NGX_MAKEFILE |
| 418 | |
| 419 | $ngx_pch |
| 420 | $ngx_src |
| 421 | |
| 422 | END |
| 423 | |
Igor Sysoev | fc5a10a | 2004-03-09 19:47:07 +0000 | [diff] [blame] | 424 | fi |