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