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