mirror of
https://github.com/nginx/nginx.git
synced 2024-11-27 23:49:00 +08:00
50bd632663
While exporting parts of the tree might be better in some cases, it is awfully slow overseas, and also requires unlocking ssh key multiple times. Exporting the whole repo and removing directories not needed for zip is faster here. It is also a required step before we can switch to Mercurial.
190 lines
5.1 KiB
Makefile
190 lines
5.1 KiB
Makefile
|
|
VER = $(shell grep 'define NGINX_VERSION' src/core/nginx.h \
|
|
| sed -e 's/^.*\"\(.*\)\"/\1/')
|
|
NGINX = nginx-$(VER)
|
|
TEMP = tmp
|
|
REPO = $(shell svn info | sed -n 's/^Repository Root: //p')
|
|
|
|
OBJS = objs.msvc8
|
|
OPENSSL = openssl-1.0.1e
|
|
ZLIB = zlib-1.2.7
|
|
PCRE = pcre-8.32
|
|
|
|
|
|
release:
|
|
rm -rf $(TEMP)
|
|
|
|
svn export -rHEAD . $(TEMP)/$(NGINX)
|
|
|
|
mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX)
|
|
|
|
# delete incomplete sources
|
|
rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c
|
|
rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c
|
|
rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.*
|
|
rm -r $(TEMP)/$(NGINX)/src/os/win32
|
|
|
|
rm -r $(TEMP)/$(NGINX)/src/mysql
|
|
|
|
mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)
|
|
mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)
|
|
mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX)
|
|
mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX)
|
|
|
|
$(MAKE) -f docs/GNUmakefile changes
|
|
|
|
rm -r $(TEMP)/$(NGINX)/docs
|
|
rm -r $(TEMP)/$(NGINX)/misc
|
|
|
|
tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX)
|
|
|
|
|
|
RELEASE:
|
|
test -d $(TEMP) || mkdir -p $(TEMP)
|
|
|
|
echo "nginx-$(VER)-RELEASE" > $(TEMP)/message
|
|
svn ci -F $(TEMP)/message
|
|
|
|
echo "release-$(VER) tag" > $(TEMP)/message
|
|
svn copy $(REPO)/trunk $(REPO)/tags/release-$(VER) \
|
|
-F $(TEMP)/message
|
|
|
|
svn up
|
|
|
|
$(MAKE) -f misc/GNUmakefile release
|
|
|
|
|
|
snapshot:
|
|
rm -rf $(TEMP)
|
|
|
|
mkdir -p $(TEMP)
|
|
svn export . $(TEMP)/$(NGINX)
|
|
|
|
mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX)
|
|
|
|
# delete incomplete sources
|
|
rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c
|
|
rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c
|
|
rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.*
|
|
rm -r $(TEMP)/$(NGINX)/src/os/win32
|
|
|
|
rm -r $(TEMP)/$(NGINX)/src/mysql
|
|
|
|
mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)
|
|
mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)
|
|
mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX)
|
|
mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX)
|
|
|
|
$(MAKE) -f docs/GNUmakefile changes
|
|
|
|
rm -r $(TEMP)/$(NGINX)/docs
|
|
rm -r $(TEMP)/$(NGINX)/misc
|
|
|
|
tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX)
|
|
|
|
win32:
|
|
./auto/configure \
|
|
--with-cc=cl \
|
|
--builddir=$(OBJS) \
|
|
--with-debug \
|
|
--prefix= \
|
|
--conf-path=conf/nginx.conf \
|
|
--pid-path=logs/nginx.pid \
|
|
--http-log-path=logs/access.log \
|
|
--error-log-path=logs/error.log \
|
|
--sbin-path=nginx.exe \
|
|
--http-client-body-temp-path=temp/client_body_temp \
|
|
--http-proxy-temp-path=temp/proxy_temp \
|
|
--http-fastcgi-temp-path=temp/fastcgi_temp \
|
|
--http-scgi-temp-path=temp/scgi_temp \
|
|
--http-uwsgi-temp-path=temp/uwsgi_temp \
|
|
--with-cc-opt=-DFD_SETSIZE=1024 \
|
|
--with-pcre=$(OBJS)/lib/$(PCRE) \
|
|
--with-zlib=$(OBJS)/lib/$(ZLIB) \
|
|
--with-select_module \
|
|
--with-http_realip_module \
|
|
--with-http_addition_module \
|
|
--with-http_sub_module \
|
|
--with-http_dav_module \
|
|
--with-http_stub_status_module \
|
|
--with-http_flv_module \
|
|
--with-http_mp4_module \
|
|
--with-http_gunzip_module \
|
|
--with-http_gzip_static_module \
|
|
--with-http_random_index_module \
|
|
--with-http_secure_link_module \
|
|
--with-mail \
|
|
--with-openssl=$(OBJS)/lib/$(OPENSSL) \
|
|
--with-openssl-opt=enable-tlsext \
|
|
--with-http_ssl_module \
|
|
--with-mail_ssl_module \
|
|
--with-ipv6
|
|
|
|
zip:
|
|
rm -rf $(TEMP)
|
|
rm -f $(NGINX).zip
|
|
|
|
svn export -rHEAD . $(TEMP)/$(NGINX)
|
|
|
|
mkdir -p $(TEMP)/$(NGINX)/docs.new
|
|
mkdir -p $(TEMP)/$(NGINX)/logs
|
|
mkdir -p $(TEMP)/$(NGINX)/temp
|
|
|
|
sed -i '' -e "s/$$/`printf '\r'`/" $(TEMP)/$(NGINX)/conf/*
|
|
|
|
mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)/docs.new
|
|
mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)/docs.new
|
|
mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX)
|
|
|
|
rm -r $(TEMP)/$(NGINX)/docs
|
|
mv $(TEMP)/$(NGINX)/docs.new $(TEMP)/$(NGINX)/docs
|
|
|
|
cp -p $(OBJS)/nginx.exe $(TEMP)/$(NGINX)
|
|
|
|
$(MAKE) -f docs/GNUmakefile changes
|
|
mv $(TEMP)/$(NGINX)/CHANGES* $(TEMP)/$(NGINX)/docs/
|
|
|
|
cp -p $(OBJS)/lib/$(OPENSSL)/LICENSE \
|
|
$(TEMP)/$(NGINX)/docs/OpenSSL.LICENSE
|
|
|
|
cp -p $(OBJS)/lib/$(PCRE)/LICENCE \
|
|
$(TEMP)/$(NGINX)/docs/PCRE.LICENCE
|
|
|
|
sed -ne '/^ (C) 1995-20/,/^ jloup@gzip\.org/p' \
|
|
$(OBJS)/lib/$(ZLIB)/README \
|
|
> $(TEMP)/$(NGINX)/docs/zlib.LICENSE
|
|
|
|
touch -r $(OBJS)/lib/$(ZLIB)/README \
|
|
$(TEMP)/$(NGINX)/docs/zlib.LICENSE
|
|
|
|
rm -r $(TEMP)/$(NGINX)/auto
|
|
rm -r $(TEMP)/$(NGINX)/misc
|
|
rm -r $(TEMP)/$(NGINX)/src
|
|
|
|
cd $(TEMP) && zip -r ../$(NGINX).zip $(NGINX)
|
|
|
|
|
|
icons: src/os/win32/nginx.ico
|
|
|
|
# 48x48, 32x32 and 16x16 icons
|
|
|
|
src/os/win32/nginx.ico: src/os/win32/nginx_icon48.xpm \
|
|
src/os/win32/nginx_icon32.xpm \
|
|
src/os/win32/nginx_icon16.xpm
|
|
|
|
test -d $(TEMP) || mkdir $(TEMP)
|
|
|
|
xpmtoppm --alphaout=$(TEMP)/nginx48.pbm \
|
|
src/os/win32/nginx_icon48.xpm > $(TEMP)/nginx48.ppm
|
|
|
|
xpmtoppm --alphaout=$(TEMP)/nginx32.pbm \
|
|
src/os/win32/nginx_icon32.xpm > $(TEMP)/nginx32.ppm
|
|
|
|
xpmtoppm --alphaout=$(TEMP)/nginx16.pbm \
|
|
src/os/win32/nginx_icon16.xpm > $(TEMP)/nginx16.ppm
|
|
|
|
ppmtowinicon -output src/os/win32/nginx.ico -andpgms \
|
|
$(TEMP)/nginx48.ppm $(TEMP)/nginx48.pbm \
|
|
$(TEMP)/nginx32.ppm $(TEMP)/nginx32.pbm \
|
|
$(TEMP)/nginx16.ppm $(TEMP)/nginx16.pbm
|