Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 1 | |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 2 | # Copyright (C) Igor Sysoev |
Maxim Konovalov | f8d59e3 | 2012-01-18 15:07:43 +0000 | [diff] [blame] | 3 | # Copyright (C) Nginx, Inc. |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 4 | |
| 5 | |
Ruslan Ermilov | 890fade | 2016-02-26 14:27:04 +0300 | [diff] [blame] | 6 | if [ $USE_PERL != NO ]; then |
Igor Sysoev | 9bf11aa | 2006-01-16 14:56:53 +0000 | [diff] [blame] | 7 | |
| 8 | cat << END >> $NGX_MAKEFILE |
| 9 | |
| 10 | install_perl_modules: |
Maxim Dounin | 27b9435 | 2012-09-11 12:43:59 +0000 | [diff] [blame] | 11 | cd $NGX_OBJS/src/http/modules/perl && \$(MAKE) install |
Igor Sysoev | 9bf11aa | 2006-01-16 14:56:53 +0000 | [diff] [blame] | 12 | END |
| 13 | |
| 14 | NGX_INSTALL_PERL_MODULES=install_perl_modules |
| 15 | |
| 16 | fi |
| 17 | |
| 18 | |
Igor Sysoev | 5ef370d | 2009-04-27 11:32:33 +0000 | [diff] [blame] | 19 | case ".$NGX_SBIN_PATH" in |
| 20 | ./*) |
| 21 | ;; |
| 22 | |
Igor Sysoev | 5ef370d | 2009-04-27 11:32:33 +0000 | [diff] [blame] | 23 | *) |
| 24 | NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH |
| 25 | ;; |
| 26 | esac |
| 27 | |
| 28 | |
Maxim Dounin | ce1c3bd | 2016-02-04 20:25:29 +0300 | [diff] [blame] | 29 | case ".$NGX_MODULES_PATH" in |
| 30 | ./*) |
| 31 | ;; |
| 32 | |
| 33 | *) |
| 34 | NGX_MODULES_PATH=$NGX_PREFIX/$NGX_MODULES_PATH |
| 35 | ;; |
| 36 | esac |
| 37 | |
| 38 | NGX_MODULES_PATH=`dirname $NGX_MODULES_PATH/.` |
| 39 | |
| 40 | |
Igor Sysoev | 5ef370d | 2009-04-27 11:32:33 +0000 | [diff] [blame] | 41 | case ".$NGX_CONF_PATH" in |
| 42 | ./*) |
| 43 | ;; |
| 44 | |
| 45 | *) |
| 46 | NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH |
| 47 | ;; |
| 48 | esac |
| 49 | |
| 50 | |
| 51 | NGX_CONF_PREFIX=`dirname $NGX_CONF_PATH` |
| 52 | |
| 53 | |
| 54 | case ".$NGX_PID_PATH" in |
| 55 | ./*) |
| 56 | ;; |
| 57 | |
| 58 | *) |
| 59 | NGX_PID_PATH=$NGX_PREFIX/$NGX_PID_PATH |
| 60 | ;; |
| 61 | esac |
| 62 | |
| 63 | |
| 64 | case ".$NGX_ERROR_LOG_PATH" in |
Ruslan Ermilov | 88ca608 | 2011-10-12 09:04:59 +0000 | [diff] [blame] | 65 | ./* | .) |
Igor Sysoev | 5ef370d | 2009-04-27 11:32:33 +0000 | [diff] [blame] | 66 | ;; |
| 67 | |
| 68 | *) |
| 69 | NGX_ERROR_LOG_PATH=$NGX_PREFIX/$NGX_ERROR_LOG_PATH |
| 70 | ;; |
| 71 | esac |
| 72 | |
| 73 | |
| 74 | case ".$NGX_HTTP_LOG_PATH" in |
| 75 | ./*) |
| 76 | ;; |
| 77 | |
| 78 | *) |
| 79 | NGX_HTTP_LOG_PATH=$NGX_PREFIX/$NGX_HTTP_LOG_PATH |
| 80 | ;; |
| 81 | esac |
| 82 | |
| 83 | |
Sergey Budnevitch | 2f6e243 | 2011-12-20 16:20:23 +0000 | [diff] [blame] | 84 | if test -f man/nginx.8 ; then |
Ruslan Ermilov | 7cd93c6 | 2011-11-22 13:26:44 +0000 | [diff] [blame] | 85 | NGX_MAN=man/nginx.8 |
| 86 | else |
| 87 | NGX_MAN=docs/man/nginx.8 |
| 88 | fi |
| 89 | |
| 90 | if test -d html ; then |
| 91 | NGX_HTML=html |
| 92 | else |
| 93 | NGX_HTML=docs/html |
| 94 | fi |
| 95 | |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 96 | cat << END >> $NGX_MAKEFILE |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 97 | |
Maxim Dounin | 400de57 | 2011-08-18 15:57:59 +0000 | [diff] [blame] | 98 | manpage: $NGX_OBJS/nginx.8 |
| 99 | |
Ruslan Ermilov | 7cd93c6 | 2011-11-22 13:26:44 +0000 | [diff] [blame] | 100 | $NGX_OBJS/nginx.8: $NGX_MAN $NGX_AUTO_CONFIG_H |
Igor Sysoev | e1a30b4 | 2010-11-25 14:12:31 +0000 | [diff] [blame] | 101 | sed -e "s|%%PREFIX%%|$NGX_PREFIX|" \\ |
| 102 | -e "s|%%PID_PATH%%|$NGX_PID_PATH|" \\ |
| 103 | -e "s|%%CONF_PATH%%|$NGX_CONF_PATH|" \\ |
Ruslan Ermilov | 88ca608 | 2011-10-12 09:04:59 +0000 | [diff] [blame] | 104 | -e "s|%%ERROR_LOG_PATH%%|${NGX_ERROR_LOG_PATH:-stderr}|" \\ |
Ruslan Ermilov | 7cd93c6 | 2011-11-22 13:26:44 +0000 | [diff] [blame] | 105 | < $NGX_MAN > \$@ |
Igor Sysoev | e1a30b4 | 2010-11-25 14:12:31 +0000 | [diff] [blame] | 106 | |
Maxim Dounin | f878c05 | 2016-02-19 18:13:54 +0300 | [diff] [blame] | 107 | install: build $NGX_INSTALL_PERL_MODULES |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 108 | test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 109 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 110 | test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \\ |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 111 | || mkdir -p '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 112 | test ! -f '\$(DESTDIR)$NGX_SBIN_PATH' \\ |
| 113 | || mv '\$(DESTDIR)$NGX_SBIN_PATH' \\ |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 114 | '\$(DESTDIR)$NGX_SBIN_PATH.old' |
| 115 | cp $NGX_OBJS/nginx '\$(DESTDIR)$NGX_SBIN_PATH' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 116 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 117 | test -d '\$(DESTDIR)$NGX_CONF_PREFIX' \\ |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 118 | || mkdir -p '\$(DESTDIR)$NGX_CONF_PREFIX' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 119 | |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 120 | cp conf/koi-win '\$(DESTDIR)$NGX_CONF_PREFIX' |
| 121 | cp conf/koi-utf '\$(DESTDIR)$NGX_CONF_PREFIX' |
| 122 | cp conf/win-utf '\$(DESTDIR)$NGX_CONF_PREFIX' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 123 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 124 | test -f '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types' \\ |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 125 | || cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX' |
| 126 | cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types.default' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 127 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 128 | test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params' \\ |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 129 | || cp conf/fastcgi_params '\$(DESTDIR)$NGX_CONF_PREFIX' |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 130 | cp conf/fastcgi_params \\ |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 131 | '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params.default' |
Igor Sysoev | a1df416 | 2007-07-29 18:05:45 +0000 | [diff] [blame] | 132 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 133 | test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf' \\ |
Igor Sysoev | 4955439 | 2009-12-15 13:54:41 +0000 | [diff] [blame] | 134 | || cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX' |
| 135 | cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf.default' |
| 136 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 137 | test -f '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params' \\ |
Igor Sysoev | 2b92c28 | 2010-06-08 15:25:48 +0000 | [diff] [blame] | 138 | || cp conf/uwsgi_params '\$(DESTDIR)$NGX_CONF_PREFIX' |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 139 | cp conf/uwsgi_params \\ |
Igor Sysoev | 2b92c28 | 2010-06-08 15:25:48 +0000 | [diff] [blame] | 140 | '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params.default' |
| 141 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 142 | test -f '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params' \\ |
Igor Sysoev | ee5f9e5 | 2010-06-18 15:51:14 +0000 | [diff] [blame] | 143 | || cp conf/scgi_params '\$(DESTDIR)$NGX_CONF_PREFIX' |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 144 | cp conf/scgi_params \\ |
Igor Sysoev | ee5f9e5 | 2010-06-18 15:51:14 +0000 | [diff] [blame] | 145 | '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params.default' |
| 146 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 147 | test -f '\$(DESTDIR)$NGX_CONF_PATH' \\ |
Igor Sysoev | e9b01c0 | 2009-07-14 09:41:18 +0000 | [diff] [blame] | 148 | || cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PATH' |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 149 | cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PREFIX/nginx.conf.default' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 150 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 151 | test -d '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' \\ |
Igor Sysoev | d1c0150 | 2008-05-16 13:29:19 +0000 | [diff] [blame] | 152 | || mkdir -p '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 153 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 154 | test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' \\ |
| 155 | || mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 156 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 157 | test -d '\$(DESTDIR)$NGX_PREFIX/html' \\ |
Ruslan Ermilov | 7cd93c6 | 2011-11-22 13:26:44 +0000 | [diff] [blame] | 158 | || cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX' |
Igor Sysoev | 6d2a14a | 2004-09-27 16:03:21 +0000 | [diff] [blame] | 159 | END |
| 160 | |
| 161 | |
Ruslan Ermilov | 88ca608 | 2011-10-12 09:04:59 +0000 | [diff] [blame] | 162 | if test -n "$NGX_ERROR_LOG_PATH"; then |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 163 | cat << END >> $NGX_MAKEFILE |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 164 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 165 | test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' \\ |
| 166 | || mkdir -p '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 167 | END |
| 168 | |
| 169 | fi |
Igor Sysoev | 419c736 | 2009-05-17 19:22:08 +0000 | [diff] [blame] | 170 | |
| 171 | |
Maxim Dounin | 09b7f55 | 2016-03-10 16:50:13 +0300 | [diff] [blame] | 172 | if test -n "$DYNAMIC_MODULES"; then |
Maxim Dounin | ce1c3bd | 2016-02-04 20:25:29 +0300 | [diff] [blame] | 173 | cat << END >> $NGX_MAKEFILE |
| 174 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 175 | test -d '\$(DESTDIR)$NGX_MODULES_PATH' \\ |
Maxim Dounin | ce1c3bd | 2016-02-04 20:25:29 +0300 | [diff] [blame] | 176 | || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH' |
Maxim Dounin | ce1c3bd | 2016-02-04 20:25:29 +0300 | [diff] [blame] | 177 | END |
| 178 | |
| 179 | fi |
| 180 | |
| 181 | |
Maxim Dounin | 09b7f55 | 2016-03-10 16:50:13 +0300 | [diff] [blame] | 182 | for ngx_module in $DYNAMIC_MODULES |
| 183 | do |
| 184 | ngx_module=$ngx_module$ngx_modext |
| 185 | |
| 186 | cat << END >> $NGX_MAKEFILE |
| 187 | |
Ruslan Ermilov | aa8900f | 2016-03-10 18:31:05 +0300 | [diff] [blame] | 188 | test ! -f '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\ |
| 189 | || mv '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\ |
Maxim Dounin | 09b7f55 | 2016-03-10 16:50:13 +0300 | [diff] [blame] | 190 | '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module.old' |
| 191 | cp $NGX_OBJS/$ngx_module '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' |
| 192 | END |
| 193 | |
| 194 | done |
| 195 | |
| 196 | |
Igor Sysoev | 419c736 | 2009-05-17 19:22:08 +0000 | [diff] [blame] | 197 | # create Makefile |
| 198 | |
| 199 | cat << END >> Makefile |
| 200 | |
| 201 | build: |
| 202 | \$(MAKE) -f $NGX_MAKEFILE |
| 203 | |
| 204 | install: |
| 205 | \$(MAKE) -f $NGX_MAKEFILE install |
| 206 | |
Ruslan Ermilov | 5fee886 | 2016-02-29 18:52:33 +0300 | [diff] [blame] | 207 | modules: |
| 208 | \$(MAKE) -f $NGX_MAKEFILE modules |
| 209 | |
Igor Sysoev | 419c736 | 2009-05-17 19:22:08 +0000 | [diff] [blame] | 210 | upgrade: |
| 211 | $NGX_SBIN_PATH -t |
| 212 | |
| 213 | kill -USR2 \`cat $NGX_PID_PATH\` |
| 214 | sleep 1 |
| 215 | test -f $NGX_PID_PATH.oldbin |
| 216 | |
| 217 | kill -QUIT \`cat $NGX_PID_PATH.oldbin\` |
Ruslan Ermilov | 743d9aa | 2021-02-20 12:44:26 +0300 | [diff] [blame] | 218 | |
| 219 | .PHONY: build install modules upgrade |
Igor Sysoev | 419c736 | 2009-05-17 19:22:08 +0000 | [diff] [blame] | 220 | END |