blob: c764fdd2f773ee407046f02b1c05b7a03ac6942d [file] [log] [blame]
Igor Sysoev6d2a14a2004-09-27 16:03:21 +00001
Igor Sysoevff8da912004-09-29 16:00:49 +00002# Copyright (C) Igor Sysoev
Maxim Konovalovf8d59e32012-01-18 15:07:43 +00003# Copyright (C) Nginx, Inc.
Igor Sysoevff8da912004-09-29 16:00:49 +00004
5
Ruslan Ermilov890fade2016-02-26 14:27:04 +03006if [ $USE_PERL != NO ]; then
Igor Sysoev9bf11aa2006-01-16 14:56:53 +00007
8 cat << END >> $NGX_MAKEFILE
9
10install_perl_modules:
Maxim Dounin27b94352012-09-11 12:43:59 +000011 cd $NGX_OBJS/src/http/modules/perl && \$(MAKE) install
Igor Sysoev9bf11aa2006-01-16 14:56:53 +000012END
13
14 NGX_INSTALL_PERL_MODULES=install_perl_modules
15
16fi
17
18
Igor Sysoev5ef370d2009-04-27 11:32:33 +000019case ".$NGX_SBIN_PATH" in
20 ./*)
21 ;;
22
Igor Sysoev5ef370d2009-04-27 11:32:33 +000023 *)
24 NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
25 ;;
26esac
27
28
Maxim Dounince1c3bd2016-02-04 20:25:29 +030029case ".$NGX_MODULES_PATH" in
30 ./*)
31 ;;
32
33 *)
34 NGX_MODULES_PATH=$NGX_PREFIX/$NGX_MODULES_PATH
35 ;;
36esac
37
38NGX_MODULES_PATH=`dirname $NGX_MODULES_PATH/.`
39
40
Igor Sysoev5ef370d2009-04-27 11:32:33 +000041case ".$NGX_CONF_PATH" in
42 ./*)
43 ;;
44
45 *)
46 NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH
47 ;;
48esac
49
50
51NGX_CONF_PREFIX=`dirname $NGX_CONF_PATH`
52
53
54case ".$NGX_PID_PATH" in
55 ./*)
56 ;;
57
58 *)
59 NGX_PID_PATH=$NGX_PREFIX/$NGX_PID_PATH
60 ;;
61esac
62
63
64case ".$NGX_ERROR_LOG_PATH" in
Ruslan Ermilov88ca6082011-10-12 09:04:59 +000065 ./* | .)
Igor Sysoev5ef370d2009-04-27 11:32:33 +000066 ;;
67
68 *)
69 NGX_ERROR_LOG_PATH=$NGX_PREFIX/$NGX_ERROR_LOG_PATH
70 ;;
71esac
72
73
74case ".$NGX_HTTP_LOG_PATH" in
75 ./*)
76 ;;
77
78 *)
79 NGX_HTTP_LOG_PATH=$NGX_PREFIX/$NGX_HTTP_LOG_PATH
80 ;;
81esac
82
83
Sergey Budnevitch2f6e2432011-12-20 16:20:23 +000084if test -f man/nginx.8 ; then
Ruslan Ermilov7cd93c62011-11-22 13:26:44 +000085 NGX_MAN=man/nginx.8
86else
87 NGX_MAN=docs/man/nginx.8
88fi
89
90if test -d html ; then
91 NGX_HTML=html
92else
93 NGX_HTML=docs/html
94fi
95
Igor Sysoevf6906042004-11-25 16:17:31 +000096cat << END >> $NGX_MAKEFILE
Igor Sysoevd43bee82004-11-20 19:52:20 +000097
Maxim Dounin400de572011-08-18 15:57:59 +000098manpage: $NGX_OBJS/nginx.8
99
Ruslan Ermilov7cd93c62011-11-22 13:26:44 +0000100$NGX_OBJS/nginx.8: $NGX_MAN $NGX_AUTO_CONFIG_H
Igor Sysoeve1a30b42010-11-25 14:12:31 +0000101 sed -e "s|%%PREFIX%%|$NGX_PREFIX|" \\
102 -e "s|%%PID_PATH%%|$NGX_PID_PATH|" \\
103 -e "s|%%CONF_PATH%%|$NGX_CONF_PATH|" \\
Ruslan Ermilov88ca6082011-10-12 09:04:59 +0000104 -e "s|%%ERROR_LOG_PATH%%|${NGX_ERROR_LOG_PATH:-stderr}|" \\
Ruslan Ermilov7cd93c62011-11-22 13:26:44 +0000105 < $NGX_MAN > \$@
Igor Sysoeve1a30b42010-11-25 14:12:31 +0000106
Maxim Douninf878c052016-02-19 18:13:54 +0300107install: build $NGX_INSTALL_PERL_MODULES
Igor Sysoevd1c01502008-05-16 13:29:19 +0000108 test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX'
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000109
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300110 test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \\
Igor Sysoevd1c01502008-05-16 13:29:19 +0000111 || mkdir -p '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`'
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300112 test ! -f '\$(DESTDIR)$NGX_SBIN_PATH' \\
113 || mv '\$(DESTDIR)$NGX_SBIN_PATH' \\
Igor Sysoevd1c01502008-05-16 13:29:19 +0000114 '\$(DESTDIR)$NGX_SBIN_PATH.old'
115 cp $NGX_OBJS/nginx '\$(DESTDIR)$NGX_SBIN_PATH'
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000116
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300117 test -d '\$(DESTDIR)$NGX_CONF_PREFIX' \\
Igor Sysoevd1c01502008-05-16 13:29:19 +0000118 || mkdir -p '\$(DESTDIR)$NGX_CONF_PREFIX'
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000119
Igor Sysoevd1c01502008-05-16 13:29:19 +0000120 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 Sysoev6d2a14a2004-09-27 16:03:21 +0000123
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300124 test -f '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types' \\
Igor Sysoevd1c01502008-05-16 13:29:19 +0000125 || cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX'
126 cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types.default'
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000127
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300128 test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params' \\
Igor Sysoevd1c01502008-05-16 13:29:19 +0000129 || cp conf/fastcgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300130 cp conf/fastcgi_params \\
Igor Sysoevd1c01502008-05-16 13:29:19 +0000131 '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params.default'
Igor Sysoeva1df4162007-07-29 18:05:45 +0000132
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300133 test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf' \\
Igor Sysoev49554392009-12-15 13:54:41 +0000134 || cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX'
135 cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf.default'
136
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300137 test -f '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params' \\
Igor Sysoev2b92c282010-06-08 15:25:48 +0000138 || cp conf/uwsgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300139 cp conf/uwsgi_params \\
Igor Sysoev2b92c282010-06-08 15:25:48 +0000140 '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params.default'
141
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300142 test -f '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params' \\
Igor Sysoevee5f9e52010-06-18 15:51:14 +0000143 || cp conf/scgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300144 cp conf/scgi_params \\
Igor Sysoevee5f9e52010-06-18 15:51:14 +0000145 '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params.default'
146
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300147 test -f '\$(DESTDIR)$NGX_CONF_PATH' \\
Igor Sysoeve9b01c02009-07-14 09:41:18 +0000148 || cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PATH'
Igor Sysoevd1c01502008-05-16 13:29:19 +0000149 cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PREFIX/nginx.conf.default'
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000150
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300151 test -d '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' \\
Igor Sysoevd1c01502008-05-16 13:29:19 +0000152 || mkdir -p '\$(DESTDIR)`dirname "$NGX_PID_PATH"`'
Igor Sysoevff8da912004-09-29 16:00:49 +0000153
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300154 test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' \\
155 || mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000156
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300157 test -d '\$(DESTDIR)$NGX_PREFIX/html' \\
Ruslan Ermilov7cd93c62011-11-22 13:26:44 +0000158 || cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX'
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000159END
160
161
Ruslan Ermilov88ca6082011-10-12 09:04:59 +0000162if test -n "$NGX_ERROR_LOG_PATH"; then
Igor Sysoevf6906042004-11-25 16:17:31 +0000163 cat << END >> $NGX_MAKEFILE
Igor Sysoevff8da912004-09-29 16:00:49 +0000164
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300165 test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' \\
166 || mkdir -p '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`'
Igor Sysoevff8da912004-09-29 16:00:49 +0000167END
168
169fi
Igor Sysoev419c7362009-05-17 19:22:08 +0000170
171
Maxim Dounin09b7f552016-03-10 16:50:13 +0300172if test -n "$DYNAMIC_MODULES"; then
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300173 cat << END >> $NGX_MAKEFILE
174
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300175 test -d '\$(DESTDIR)$NGX_MODULES_PATH' \\
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300176 || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH'
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300177END
178
179fi
180
181
Maxim Dounin09b7f552016-03-10 16:50:13 +0300182for ngx_module in $DYNAMIC_MODULES
183do
184 ngx_module=$ngx_module$ngx_modext
185
186 cat << END >> $NGX_MAKEFILE
187
Ruslan Ermilovaa8900f2016-03-10 18:31:05 +0300188 test ! -f '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\
189 || mv '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\
Maxim Dounin09b7f552016-03-10 16:50:13 +0300190 '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module.old'
191 cp $NGX_OBJS/$ngx_module '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module'
192END
193
194done
195
196
Igor Sysoev419c7362009-05-17 19:22:08 +0000197# create Makefile
198
199cat << END >> Makefile
200
201build:
202 \$(MAKE) -f $NGX_MAKEFILE
203
204install:
205 \$(MAKE) -f $NGX_MAKEFILE install
206
Ruslan Ermilov5fee8862016-02-29 18:52:33 +0300207modules:
208 \$(MAKE) -f $NGX_MAKEFILE modules
209
Igor Sysoev419c7362009-05-17 19:22:08 +0000210upgrade:
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 Ermilov743d9aa2021-02-20 12:44:26 +0300218
219.PHONY: build install modules upgrade
Igor Sysoev419c7362009-05-17 19:22:08 +0000220END