comparison GNUmakefile @ 0:61e04fc01027

Initial import of the nginx.org website.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 11 Aug 2011 12:19:13 +0000
parents
children b633fc3525eb
comparison
equal deleted inserted replaced
-1:000000000000 0:61e04fc01027
1
2 OUT = libxslt
3 TEXT = text
4 ZIP = gzip
5 NGINX_ORG = /data/jails/www/usr/local/www/nginx.org
6 NGINX_NET = /data/jails/www/usr/local/www/nginx.net
7 SYSOEV_RU = /data/jails/www/usr/local/www/sysoev.ru
8
9 CP = $(HOME)/java
10
11
12
13 define XSLScript
14 java -cp $(CP)/xsls/saxon.jar:$(CP)/xsls/xsls.jar \
15 com.pault.StyleSheet \
16 -x com.pault.XX -y com.pault.XX \
17 $(1) xsls/dump.xsls \
18 | perl -e 'undef $$/; $$_ = <>; s/(\n\n)+/\n/gs; print' > $(2)
19
20 if [ ! -s $(2) ]; then rm $(2); fi; test -s $(2)
21 endef
22
23
24 define XSLT
25 xsltproc -o $3 \
26 $(shell echo $4 \
27 | sed -e "s/\([^= ]*\)=\([^= ]*\)/--param \1 \"'\2'\"/g") \
28 $1 $2
29 endef
30
31 define GZIP
32 rm -f $1.gz
33 7za a -tgzip -mx9 -mpass=15 -si -ba -bd $1.gz < $1
34 touch -r $1 $1.gz
35 endef
36
37
38 all: news arx 404 en ja he ru tr
39
40 news: $(OUT)/index.html $(OUT)/index.rss
41 arx: $(OUT)/2010.html $(OUT)/2009.html
42 404: $(OUT)/404.html
43
44
45 ARTICLE_XSLT = xml/menu.xml \
46 xml/versions.xml \
47 xslt/article.xslt \
48 dtd/article.dtd \
49 dtd/content.dtd \
50
51 include xml/en/GNUmakefile
52 include xml/ja/GNUmakefile
53 include xml/he/GNUmakefile
54 include xml/ru/GNUmakefile
55 include xml/tr/GNUmakefile
56
57
58 $(OUT)/index.html: xml/index.xml \
59 xml/menu.xml \
60 xslt/news.xslt \
61 dtd/news.dtd \
62 dtd/content.dtd
63 $(call XSLT, xslt/news.xslt, $<, $@)
64
65 $(OUT)/index.rss: xml/index.xml \
66 xslt/rss.xslt \
67 dtd/article.dtd \
68 dtd/content.dtd
69 $(call XSLT, xslt/rss.xslt, $<, $@)
70
71
72 $(OUT)/2010.html: xml/index.xml \
73 xml/menu.xml \
74 xslt/news.xslt \
75 dtd/news.dtd \
76 dtd/content.dtd
77 $(call XSLT, xslt/news.xslt, $<, $@, YEAR=2010)
78
79
80 $(OUT)/2009.html: xml/index.xml \
81 xml/menu.xml \
82 xslt/news.xslt \
83 dtd/news.dtd \
84 dtd/content.dtd
85 $(call XSLT, xslt/news.xslt, $<, $@, YEAR=2009)
86
87 $(OUT)/404.html: xml/404.xml \
88 xml/menu.xml \
89 xslt/error.xslt \
90 dtd/article.dtd \
91 dtd/content.dtd
92 $(call XSLT, xslt/error.xslt, $<, $@)
93
94
95 $(OUT)/%.html: xml/%.xml \
96 $(ARTICLE_XSLT)
97 $(call XSLT, xslt/article.xslt, $<, $@)
98
99
100 xslt/news.xslt: xsls/news.xsls \
101 xslt/dirname.xslt \
102 xslt/link.xslt \
103 xslt/style.xslt \
104 xslt/body.xslt \
105 xslt/menu.xslt \
106 xslt/content.xslt
107 $(call XSLScript, $<, $@)
108
109 xslt/article.xslt: xsls/article.xsls \
110 xslt/dirname.xslt \
111 xslt/link.xslt \
112 xslt/style.xslt \
113 xslt/body.xslt \
114 xslt/menu.xslt \
115 xslt/donate.xslt \
116 xslt/content.xslt \
117 xslt/versions.xslt
118 $(call XSLScript, $<, $@)
119
120 xslt/download.xslt: xsls/download.xsls \
121 xslt/dirname.xslt \
122 xslt/link.xslt \
123 xslt/style.xslt \
124 xslt/body.xslt \
125 xslt/menu.xslt \
126 xslt/content.xslt
127 $(call XSLScript, $<, $@)
128
129 xslt/security.xslt: xsls/security.xsls \
130 xslt/dirname.xslt \
131 xslt/link.xslt \
132 xslt/style.xslt \
133 xslt/body.xslt \
134 xslt/menu.xslt \
135 xslt/content.xslt
136 $(call XSLScript, $<, $@)
137
138 xslt/books.xslt: xsls/books.xsls \
139 xslt/dirname.xslt \
140 xslt/link.xslt \
141 xslt/style.xslt \
142 xslt/body.xslt \
143 xslt/menu.xslt \
144 xslt/content.xslt
145 $(call XSLScript, $<, $@)
146
147 xslt/error.xslt: xsls/error.xsls
148 $(call XSLScript, $<, $@)
149
150 xslt/%.xslt: xsls/%.xsls
151 $(call XSLScript, $<, $@)
152
153 images: \
154 binary/books/nginx_http_server_jp.jpg \
155 binary/books/nginx_1_web_server.jpg \
156 binary/books/nginx_http_server.jpg \
157 binary/books/nginx_in_practice.jpg
158
159 binary/books/nginx_http_server_jp.jpg: sources/1106030720.jpg
160 jpegtopnm sources/1106030720.jpg \
161 | pamscale -width=150 \
162 | pnmtojpeg -quality=95 -optimize -dct=float \
163 > binary/books/nginx_http_server_jp.jpg
164
165 binary/books/nginx_1_web_server.jpg: \
166 sources/Nginx\ 1\ Web\ Server\ Implementation\ Cookbook.jpg
167 jpegtopnm sources/Nginx\ 1\ Web\ Server\ Implementation\ Cookbook.jpg \
168 | pamscale -width=150 \
169 | pnmtojpeg -quality=95 -optimize -dct=float \
170 > binary/books/nginx_1_web_server.jpg
171
172 binary/books/nginx_http_server.jpg: sources/0868OS_MockupCover.jpg
173 jpegtopnm sources/0868OS_MockupCover.jpg \
174 | pamscale -width=150 \
175 | pnmtojpeg -quality=95 -optimize -dct=float \
176 > binary/books/nginx_http_server.jpg
177
178 binary/books/nginx_in_practice.jpg: sources/20807089-1_o.jpg
179 jpegtopnm sources/20807089-1_o.jpg \
180 | pamscale -width=150 \
181 | pnmtojpeg -quality=95 -optimize -dct=float \
182 > binary/books/nginx_in_practice.jpg
183
184
185 .PHONY: gzip
186 gzip: rsync_gzip
187 $(MAKE) do_gzip
188
189 rsync_gzip:
190 rsync -rt -c --modify-window=746496000 $(OUT)/ $(ZIP)/
191 rsync -rt -c --modify-window=746496000 $(TEXT)/ $(ZIP)/
192
193 do_gzip: $(addsuffix .gz, $(wildcard $(ZIP)/*.html)) \
194 $(addsuffix .gz, $(wildcard $(ZIP)/en/*.html)) \
195 $(addsuffix .gz, $(wildcard $(ZIP)/en/docs/*.html)) \
196 $(addsuffix .gz, $(wildcard $(ZIP)/en/docs/http/*.html))\
197 $(addsuffix .gz, $(wildcard $(ZIP)/ja/*.html)) \
198 $(addsuffix .gz, $(wildcard $(ZIP)/ja/docs/*.html)) \
199 $(addsuffix .gz, $(wildcard $(ZIP)/ja/docs/http/*.html))\
200 $(addsuffix .gz, $(wildcard $(ZIP)/he/*.html)) \
201 $(addsuffix .gz, $(wildcard $(ZIP)/he/docs/*.html)) \
202 $(addsuffix .gz, $(wildcard $(ZIP)/he/docs/http/*.html))\
203 $(addsuffix .gz, $(wildcard $(ZIP)/ru/*.html)) \
204 $(addsuffix .gz, $(wildcard $(ZIP)/ru/docs/*.html)) \
205 $(addsuffix .gz, $(wildcard $(ZIP)/tr/*.html)) \
206 $(addsuffix .gz, $(wildcard $(ZIP)/tr/docs/*.html)) \
207 $(addsuffix .gz, $(wildcard $(ZIP)/tr/docs/http/*.html))\
208 $(ZIP)/index.rss.gz \
209 $(ZIP)/LICENSE.gz \
210 $(ZIP)/en/CHANGES.gz \
211 $(addsuffix .gz, $(wildcard $(ZIP)/en/CHANGES-?.?)) \
212 $(ZIP)/ru/CHANGES.ru.gz \
213 $(addsuffix .gz, $(wildcard $(ZIP)/ru/CHANGES.ru-?.?)) \
214
215 find gzip/ -type f -not -name '*.gz' -exec test \! -e {}.gz \; -print
216
217
218 $(ZIP)/%.gz: $(ZIP)/%
219 $(call GZIP, $<)
220
221 dirs:
222 test -d $(OUT)/en/docs/http || mkdir -p $(OUT)/en/docs/http
223
224 draft: all
225 rsync -rt -c --modify-window=746496000 libxslt/ $(NGINX_ORG)/libxslt/
226
227 copy:
228 rsync -rt -c --modify-window=746496000 $(ZIP)/ $(NGINX_ORG)/
229 rsync -rt -c --modify-window=746496000 binary/ $(NGINX_ORG)/
230
231 dev: xslt/development.xslt sign
232 dev: NGINX=$(shell xsltproc xslt/development.xslt xml/versions.xml)
233
234 stable: xslt/stable.xslt sign
235 stable: NGINX=$(shell xsltproc xslt/stable.xslt xml/versions.xml)
236
237 legacy: xslt/legacy_stable.xslt sign
238 legacy: NGINX=$(shell xsltproc xslt/legacy_stable.xslt xml/versions.xml)
239
240 any: sign
241 any: NGINX=0.7.69
242
243
244 sign:
245 @echo sign nginx-$(NGINX)
246
247 gpg -sab binary/download/nginx-$(NGINX).tar.gz
248 gpg -sab binary/download/nginx-$(NGINX).zip
249
250
251 TEMP = temp
252 SITE = nginx.org
253
254 tarball:
255 rm -rf $(TEMP)
256 mkdir -p $(TEMP)/$(SITE)
257 cp -rp BSDmakefile GNUmakefile TODO \
258 xml xsls xslt dtd binary \
259 $(TEMP)/$(SITE)
260
261 rm -f $(SITE).tar.bz2
262 tar -c -y -f $(SITE).tar.bz2 \
263 --directory $(TEMP) \
264 --exclude .svn \
265 $(SITE)