changeset 212:18217133791f

Unified makefiles so they are diff'able.
author Ruslan Ermilov <ru@nginx.com>
date Tue, 29 Nov 2011 11:22:26 +0000
parents fa4a630e61c8
children 5284967934df
files xml/en/GNUmakefile xml/he/GNUmakefile xml/ja/GNUmakefile xml/ru/GNUmakefile xml/tr/GNUmakefile
diffstat 5 files changed, 260 insertions(+), 270 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/GNUmakefile
+++ b/xml/en/GNUmakefile
@@ -1,104 +1,98 @@
-
-DOCS_EN =	en/docs/control						\
-		en/docs/introduction					\
-		en/docs/howto						\
-		en/docs/faq						\
-		en/docs/windows						\
+LANG =		en
 
-DOCS_EN_XML =	$(foreach name, $(DOCS_EN), xml/$(name).xml)
-DOCS_EN_HTML =	$(foreach name, $(DOCS_EN), $(OUT)/$(name).html)
+DOCS =									\
+		introduction						\
+		howto							\
+		faq							\
+		windows							\
+		control							\
 
-INTRO_EN =	en/docs/http/request_processing				\
-		en/docs/http/configuring_https_servers			\
-		en/docs/http/server_names				\
-
-INTRO_EN_XML =	$(foreach name, $(INTRO_EN), xml/$(name).xml)
-INTRO_EN_HTML =	$(foreach name, $(INTRO_EN), $(OUT)/$(name).html)
+DOCS_XML =	$(foreach name, $(DOCS), xml/$(LANG)/docs/$(name).xml)
+DOCS_HTML =	$(foreach name, $(DOCS), $(OUT)/$(LANG)/docs/$(name).html)
 
-HOWTO_EN =	en/docs/debugging_log					\
-		en/docs/http/converting_rewrite_rules			\
-		en/docs/freebsd_tuning					\
-		en/docs/howto_build_on_win32				\
+INTRO =									\
+		http/request_processing					\
+		http/server_names					\
+		http/configuring_https_servers				\
 
-REFS_EN_XML =	$(foreach name, $(REFS_EN), xml/$(name).xml)
-REFS_EN_HTML =	$(foreach name, $(REFS_EN), $(OUT)/$(name).html)
+INTRO_XML =	$(foreach name, $(INTRO), xml/$(LANG)/docs/$(name).xml)
+INTRO_HTML =	$(foreach name, $(INTRO), $(OUT)/$(LANG)/docs/$(name).html)
 
-REFS_EN =	en/docs/ngx_core_module					\
-		en/docs/http/ngx_http_core_module			\
-		en/docs/http/ngx_http_empty_gif_module			\
-		en/docs/http/ngx_http_flv_module			\
-		en/docs/http/ngx_http_index_module			\
-		en/docs/http/ngx_http_image_filter_module		\
-		en/docs/http/ngx_http_limit_conn_module			\
-		en/docs/http/ngx_http_limit_req_module			\
-		en/docs/http/ngx_http_mp4_module			\
-		en/docs/http/ngx_http_random_index_module		\
+HOWTO =									\
+		debugging_log						\
+		http/converting_rewrite_rules				\
+		howto_build_on_win32					\
+		freebsd_tuning						\
+
+HOWTO_XML =	$(foreach name, $(HOWTO), xml/$(LANG)/docs/$(name).xml)
+HOWTO_HTML =	$(foreach name, $(HOWTO), $(OUT)/$(LANG)/docs/$(name).html)
 
-HOWTO_EN_XML =	$(foreach name, $(HOWTO_EN), xml/$(name).xml)
-HOWTO_EN_HTML =	$(foreach name, $(HOWTO_EN), $(OUT)/$(name).html)
+FAQ =									\
+		welcome_nginx_facebook					\
+		faq/license_copyright					\
+		faq/accept_failed					\
+		faq/variables_in_config					\
+		faq/daemon_master_process_off				\
+		faq/chunked_encoding_from_backend			\
+		sys_errlist						\
 
-FAQ_EN =	en/docs/sys_errlist					\
-		en/docs/welcome_nginx_facebook				\
-		en/docs/faq/accept_failed				\
-		en/docs/faq/daemon_master_process_off			\
-		en/docs/faq/variables_in_config				\
-		en/docs/faq/chunked_encoding_from_backend		\
-		en/docs/faq/license_copyright
-
-FAQ_EN_XML =	$(foreach name, $(FAQ_EN), xml/$(name).xml)
-FAQ_EN_HTML =	$(foreach name, $(FAQ_EN), $(OUT)/$(name).html)
+FAQ_XML =	$(foreach name, $(FAQ), xml/$(LANG)/docs/$(name).xml)
+FAQ_HTML =	$(foreach name, $(FAQ), $(OUT)/$(LANG)/docs/$(name).html)
 
-en:									\
-		$(OUT)/en/index.html					\
-		$(OUT)/en/download.html					\
-		$(OUT)/en/security_advisories.html			\
-		$(OUT)/en/books.html					\
-		$(OUT)/en/links.html					\
-		$(OUT)/en/support.html					\
-		$(OUT)/en/donation.html					\
-		$(OUT)/en/docs/index.html				\
-		$(DOCS_EN_HTML)						\
-		$(INTRO_EN_HTML)					\
-		$(REFS_EN_HTML)						\
-		$(HOWTO_EN_HTML)					\
-		$(FAQ_EN_HTML)						\
+REFS =									\
+		ngx_core_module						\
+		http/ngx_http_core_module				\
+		http/ngx_http_empty_gif_module				\
+		http/ngx_http_flv_module				\
+		http/ngx_http_image_filter_module			\
+		http/ngx_http_index_module				\
+		http/ngx_http_limit_conn_module				\
+		http/ngx_http_limit_req_module				\
+		http/ngx_http_mp4_module				\
+		http/ngx_http_random_index_module			\
+
+REFS_XML =	$(foreach name, $(REFS), xml/$(LANG)/docs/$(name).xml)
+REFS_HTML =	$(foreach name, $(REFS), $(OUT)/$(LANG)/docs/$(name).html)
 
-$(OUT)/en/docs/index.html:						\
-		xml/en/docs/index.xml					\
-		$(DOCS_EN_XML)						\
-		$(REFS_EN_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(LANG):								\
+		$(OUT)/$(LANG)/index.html				\
+		$(OUT)/$(LANG)/download.html				\
+		$(OUT)/$(LANG)/security_advisories.html			\
+		$(OUT)/$(LANG)/docs/index.html				\
+		$(DOCS_HTML)						\
+		$(REFS_HTML)						\
+		$(INTRO_HTML)						\
+		$(HOWTO_HTML)						\
+		$(FAQ_HTML)						\
+		$(OUT)/$(LANG)/links.html				\
+		$(OUT)/$(LANG)/books.html				\
+		$(OUT)/$(LANG)/support.html				\
+		$(OUT)/$(LANG)/donation.html				\
 
-$(OUT)/en/download.html:						\
-		xml/en/download.xml					\
+$(OUT)/$(LANG)/download.html:						\
+		xml/$(LANG)/download.xml				\
 		$(DOWNLOAD_DEPS)
 	$(call XSLT, xslt/download.xslt, $<, $@)
 
-$(OUT)/en/security_advisories.html:					\
-		xml/en/security_advisories.xml				\
+$(OUT)/$(LANG)/security_advisories.html:				\
+		xml/$(LANG)/security_advisories.xml			\
 		$(SECURITY_DEPS)
 	$(call XSLT, xslt/security.xslt, $<, $@)
 
-$(OUT)/en/docs/introduction.html:					\
-		xml/en/docs/introduction.xml				\
-		$(INTRO_EN_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/index.html:						\
+		$(DOCS_XML)						\
+		$(REFS_XML)						\
+
+$(OUT)/$(LANG)/docs/introduction.html:					\
+		$(INTRO_XML)						\
 
-$(OUT)/en/docs/howto.html:						\
-		xml/en/docs/howto.xml					\
-		$(HOWTO_EN_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/howto.html:						\
+		$(HOWTO_XML)						\
 
-$(OUT)/en/docs/faq.html:						\
-		xml/en/docs/faq.xml					\
-		$(FAQ_EN_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/faq.html:						\
+		$(FAQ_XML)						\
 
-$(OUT)/en/books.html:							\
-		xml/en/books.xml					\
+$(OUT)/$(LANG)/books.html:						\
+		xml/$(LANG)/books.xml					\
 		$(BOOK_DEPS)
 	$(call XSLT, xslt/books.xslt, $<, $@)
--- a/xml/he/GNUmakefile
+++ b/xml/he/GNUmakefile
@@ -1,42 +1,37 @@
+LANG =		he
 
-DOCS_HE =	he/docs/windows						\
-		he/docs/introduction					\
-		he/docs/howto						\
-
-DOCS_HE_XML =	$(foreach name, $(DOCS_HE), xml/$(name).xml)
-DOCS_HE_HTML =	$(foreach name, $(DOCS_HE), $(OUT)/$(name).html)
+DOCS =									\
+		introduction						\
+		howto							\
+		windows							\
 
-INTRO_HE =	he/docs/http/server_names				\
+DOCS_XML =	$(foreach name, $(DOCS), xml/$(LANG)/docs/$(name).xml)
+DOCS_HTML =	$(foreach name, $(DOCS), $(OUT)/$(LANG)/docs/$(name).html)
 
-INTRO_HE_XML =	$(foreach name, $(INTRO_HE), xml/$(name).xml)
-INTRO_HE_HTML =	$(foreach name, $(INTRO_HE), $(OUT)/$(name).html)
+INTRO =									\
+		http/server_names					\
 
-HOWTO_HE =	he/docs/http/converting_rewrite_rules			\
+INTRO_XML =	$(foreach name, $(INTRO), xml/$(LANG)/docs/$(name).xml)
+INTRO_HTML =	$(foreach name, $(INTRO), $(OUT)/$(LANG)/docs/$(name).html)
 
-HOWTO_HE_XML =	$(foreach name, $(HOWTO_HE), xml/$(name).xml)
-HOWTO_HE_HTML =	$(foreach name, $(HOWTO_HE), $(OUT)/$(name).html)
+HOWTO =									\
+		http/converting_rewrite_rules				\
 
-he:									\
-		$(OUT)/he/index.html					\
-		$(OUT)/he/docs/index.html				\
-		$(DOCS_HE_HTML)						\
-		$(INTRO_HE_HTML)					\
-		$(HOWTO_HE_HTML)					\
+HOWTO_XML =	$(foreach name, $(HOWTO), xml/$(LANG)/docs/$(name).xml)
+HOWTO_HTML =	$(foreach name, $(HOWTO), $(OUT)/$(LANG)/docs/$(name).html)
 
-$(OUT)/he/docs/index.html:						\
-		xml/he/docs/index.xml					\
-		$(DOCS_HE_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(LANG):								\
+		$(OUT)/$(LANG)/index.html				\
+		$(OUT)/$(LANG)/docs/index.html				\
+		$(DOCS_HTML)						\
+		$(INTRO_HTML)						\
+		$(HOWTO_HTML)						\
 
-$(OUT)/he/docs/introduction.html:					\
-		xml/he/docs/introduction.xml				\
-		$(INTRO_HE_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/index.html:						\
+		$(DOCS_XML)						\
 
-$(OUT)/he/docs/howto.html:						\
-		xml/he/docs/howto.xml					\
-		$(HOWTO_HE_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/introduction.html:					\
+		$(INTRO_XML)						\
+
+$(OUT)/$(LANG)/docs/howto.html:						\
+		$(HOWTO_XML)						\
--- a/xml/ja/GNUmakefile
+++ b/xml/ja/GNUmakefile
@@ -1,51 +1,47 @@
-
-DOCS_JA =	ja/docs/introduction					\
-		ja/docs/howto						\
-		ja/docs/faq						\
+LANG =		ja
 
-DOCS_JA_XML =	$(foreach name, $(DOCS_JA), xml/$(name).xml)
-DOCS_JA_HTML =	$(foreach name, $(DOCS_JA), $(OUT)/$(name).html)
+DOCS =									\
+		introduction						\
+		howto							\
+		faq							\
 
-INTRO_JA =	ja/docs/http/request_processing				\
-		ja/docs/http/configuring_https_servers			\
-		ja/docs/http/server_names				\
+DOCS_XML =	$(foreach name, $(DOCS), xml/$(LANG)/docs/$(name).xml)
+DOCS_HTML =	$(foreach name, $(DOCS), $(OUT)/$(LANG)/docs/$(name).html)
 
-INTRO_JA_XML =	$(foreach name, $(INTRO_JA), xml/$(name).xml)
-INTRO_JA_HTML =	$(foreach name, $(INTRO_JA), $(OUT)/$(name).html)
-
-HOWTO_JA =	ja/docs/debugging_log					\
-		ja/docs/http/converting_rewrite_rules			\
+INTRO =									\
+		http/request_processing					\
+		http/server_names					\
+		http/configuring_https_servers				\
 
-HOWTO_JA_XML =	$(foreach name, $(HOWTO_JA), xml/$(name).xml)
-HOWTO_JA_HTML =	$(foreach name, $(HOWTO_JA), $(OUT)/$(name).html)
+INTRO_XML =	$(foreach name, $(INTRO), xml/$(LANG)/docs/$(name).xml)
+INTRO_HTML =	$(foreach name, $(INTRO), $(OUT)/$(LANG)/docs/$(name).html)
 
-FAQ_JA =	ja/docs/sys_errlist					\
-
-FAQ_JA_XML =	$(foreach name, $(FAQ_JA), xml/$(name).xml)
-FAQ_JA_HTML =	$(foreach name, $(FAQ_JA), $(OUT)/$(name).html)
+HOWTO =									\
+		debugging_log						\
+		http/converting_rewrite_rules				\
 
-ja:									\
-		$(OUT)/ja/index.html					\
-		$(OUT)/ja/docs/index.html				\
-		$(DOCS_JA_HTML)						\
-		$(INTRO_JA_HTML)					\
-		$(HOWTO_JA_HTML)					\
-		$(FAQ_JA_HTML)						\
+HOWTO_XML =	$(foreach name, $(HOWTO), xml/$(LANG)/docs/$(name).xml)
+HOWTO_HTML =	$(foreach name, $(HOWTO), $(OUT)/$(LANG)/docs/$(name).html)
+
+FAQ =									\
+		sys_errlist						\
+
+FAQ_XML =	$(foreach name, $(FAQ), xml/$(LANG)/docs/$(name).xml)
+FAQ_HTML =	$(foreach name, $(FAQ), $(OUT)/$(LANG)/docs/$(name).html)
 
-$(OUT)/ja/docs/introduction.html:					\
-		xml/ja/docs/introduction.xml				\
-		$(INTRO_JA_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(LANG):								\
+		$(OUT)/$(LANG)/index.html				\
+		$(OUT)/$(LANG)/docs/index.html				\
+		$(DOCS_HTML)						\
+		$(INTRO_HTML)						\
+		$(HOWTO_HTML)						\
+		$(FAQ_HTML)						\
 
-$(OUT)/ja/docs/howto.html:						\
-		xml/ja/docs/howto.xml					\
-		$(HOWTO_JA_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/introduction.html:					\
+		$(INTRO_XML)						\
 
-$(OUT)/ja/docs/faq.html:						\
-		xml/ja/docs/faq.xml					\
-		$(FAQ_JA_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/howto.html:						\
+		$(HOWTO_XML)						\
+
+$(OUT)/$(LANG)/docs/faq.html:						\
+		$(FAQ_XML)						\
--- a/xml/ru/GNUmakefile
+++ b/xml/ru/GNUmakefile
@@ -1,78 +1,84 @@
+LANG =		ru
 
-DOCS_RU =	ru/docs/faq						\
-		ru/docs/control						\
-		ru/docs/events						\
-		ru/docs/example						\
-		ru/docs/hash						\
-		ru/docs/install						\
-		ru/docs/ngx_core_module					\
-		ru/docs/switches					\
-		ru/docs/syntax						\
-		ru/docs/virtual_hosts					\
-		ru/docs/windows						\
-		ru/docs/http/ngx_http_access_module			\
-		ru/docs/http/ngx_http_addition_module			\
-		ru/docs/http/ngx_http_auth_basic_module			\
-		ru/docs/http/ngx_http_autoindex_module			\
-		ru/docs/http/ngx_http_browser_module			\
-		ru/docs/http/ngx_http_charset_module			\
-		ru/docs/http/ngx_http_core_module			\
-		ru/docs/http/ngx_http_dav_module			\
-		ru/docs/http/ngx_http_empty_gif_module			\
-		ru/docs/http/ngx_http_fastcgi_module			\
-		ru/docs/http/ngx_http_flv_module			\
-		ru/docs/http/ngx_http_geo_module			\
-		ru/docs/http/ngx_http_geoip_module			\
-		ru/docs/http/ngx_http_gzip_module			\
-		ru/docs/http/ngx_http_gzip_static_module		\
-		ru/docs/http/ngx_http_headers_module			\
-		ru/docs/http/ngx_http_image_filter_module		\
-		ru/docs/http/ngx_http_index_module			\
-		ru/docs/http/ngx_http_limit_conn_module			\
-		ru/docs/http/ngx_http_limit_req_module			\
-		ru/docs/http/ngx_http_limit_zone_module			\
-		ru/docs/http/ngx_http_log_module			\
-		ru/docs/http/ngx_http_map_module			\
-		ru/docs/http/ngx_http_memcached_module			\
-		ru/docs/http/ngx_http_mp4_module			\
-		ru/docs/http/ngx_http_perl_module			\
-		ru/docs/http/ngx_http_proxy_module			\
-		ru/docs/http/ngx_http_random_index_module		\
-		ru/docs/http/ngx_http_realip_module			\
-		ru/docs/http/ngx_http_referer_module			\
-		ru/docs/http/ngx_http_rewrite_module			\
-		ru/docs/http/ngx_http_secure_link_module		\
-		ru/docs/http/ngx_http_split_clients_module		\
-		ru/docs/http/ngx_http_ssi_module			\
-		ru/docs/http/ngx_http_ssl_module			\
-		ru/docs/http/ngx_http_sub_module			\
-		ru/docs/http/ngx_http_upstream_module			\
-		ru/docs/http/ngx_http_userid_module			\
-		ru/docs/http/ngx_http_xslt_module			\
+DOCS =									\
+		faq							\
+		install							\
+		windows							\
+		events							\
+		syntax							\
+		example							\
+		switches						\
+		virtual_hosts						\
+		control							\
+		hash							\
+
+DOCS_XML =	$(foreach name, $(DOCS), xml/$(LANG)/docs/$(name).xml)
+DOCS_HTML =	$(foreach name, $(DOCS), $(OUT)/$(LANG)/docs/$(name).html)
+
+FAQ =									\
+		sys_errlist						\
+
+FAQ_XML =	$(foreach name, $(FAQ), xml/$(LANG)/docs/$(name).xml)
+FAQ_HTML =	$(foreach name, $(FAQ), $(OUT)/$(LANG)/docs/$(name).html)
 
-DOCS_RU_XML =	$(foreach name, $(DOCS_RU), xml/$(name).xml)
-DOCS_RU_HTML =	$(foreach name, $(DOCS_RU), $(OUT)/$(name).html)
-
-FAQ_RU =	ru/docs/sys_errlist					\
-
-FAQ_RU_XML =	$(foreach name, $(FAQ_RU), xml/$(name).xml)
-FAQ_RU_HTML =	$(foreach name, $(FAQ_RU), $(OUT)/$(name).html)
+REFS =									\
+		ngx_core_module						\
+		http/ngx_http_access_module				\
+		http/ngx_http_addition_module				\
+		http/ngx_http_auth_basic_module				\
+		http/ngx_http_autoindex_module				\
+		http/ngx_http_browser_module				\
+		http/ngx_http_charset_module				\
+		http/ngx_http_core_module				\
+		http/ngx_http_dav_module				\
+		http/ngx_http_empty_gif_module				\
+		http/ngx_http_fastcgi_module				\
+		http/ngx_http_flv_module				\
+		http/ngx_http_geo_module				\
+		http/ngx_http_geoip_module				\
+		http/ngx_http_gzip_module				\
+		http/ngx_http_gzip_static_module			\
+		http/ngx_http_headers_module				\
+		http/ngx_http_image_filter_module			\
+		http/ngx_http_index_module				\
+		http/ngx_http_limit_conn_module				\
+		http/ngx_http_limit_req_module				\
+		http/ngx_http_limit_zone_module				\
+		http/ngx_http_log_module				\
+		http/ngx_http_map_module				\
+		http/ngx_http_memcached_module				\
+		http/ngx_http_mp4_module				\
+		http/ngx_http_perl_module				\
+		http/ngx_http_proxy_module				\
+		http/ngx_http_random_index_module			\
+		http/ngx_http_realip_module				\
+		http/ngx_http_referer_module				\
+		http/ngx_http_rewrite_module				\
+		http/ngx_http_secure_link_module			\
+		http/ngx_http_split_clients_module			\
+		http/ngx_http_ssi_module				\
+		http/ngx_http_ssl_module				\
+		http/ngx_http_sub_module				\
+		http/ngx_http_upstream_module				\
+		http/ngx_http_userid_module				\
+		http/ngx_http_xslt_module				\
 
-ru:									\
-		$(OUT)/ru/index.html					\
-		$(OUT)/ru/download.html					\
-		$(OUT)/ru/support.html					\
-		$(OUT)/ru/docs/index.html				\
-		$(DOCS_RU_HTML)						\
-		$(FAQ_RU_HTML)						\
+REFS_XML =	$(foreach name, $(REFS), xml/$(LANG)/docs/$(name).xml)
+REFS_HTML =	$(foreach name, $(REFS), $(OUT)/$(LANG)/docs/$(name).html)
 
-$(OUT)/ru/download.html:						\
-		xml/ru/download.xml					\
+$(LANG):								\
+		$(OUT)/$(LANG)/index.html				\
+		$(OUT)/$(LANG)/download.html				\
+		$(OUT)/$(LANG)/support.html				\
+		$(OUT)/$(LANG)/docs/index.html				\
+		$(DOCS_HTML)						\
+		$(REFS_HTML)						\
+		$(FAQ_HTML)						\
+
+$(OUT)/$(LANG)/download.html:						\
+		xml/$(LANG)/download.xml				\
 		$(DOWNLOAD_DEPS)
 	$(call XSLT, xslt/download.xslt, $<, $@)
 
-$(OUT)/ru/docs/faq.html:						\
-		xml/ru/docs/faq.xml					\
-		$(FAQ_RU_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/faq.html:						\
+		$(FAQ_XML)						\
--- a/xml/tr/GNUmakefile
+++ b/xml/tr/GNUmakefile
@@ -1,52 +1,51 @@
+LANG =		tr
 
-DOCS_TR =	tr/docs/windows						\
-		tr/docs/introduction					\
-		tr/docs/howto						\
-		tr/docs/faq						\
+DOCS =									\
+		introduction						\
+		howto							\
+		faq							\
+		windows							\
 
-DOCS_TR_XML =	$(foreach name, $(DOCS_TR), xml/$(name).xml)
-DOCS_TR_HTML =	$(foreach name, $(DOCS_TR), $(OUT)/$(name).html)
+DOCS_XML =	$(foreach name, $(DOCS), xml/$(LANG)/docs/$(name).xml)
+DOCS_HTML =	$(foreach name, $(DOCS), $(OUT)/$(LANG)/docs/$(name).html)
 
-INTRO_TR =	tr/docs/http/request_processing				\
-		tr/docs/http/configuring_https_servers			\
-		tr/docs/http/server_names				\
-
-INTRO_TR_XML =	$(foreach name, $(INTRO_TR), xml/$(name).xml)
-INTRO_TR_HTML =	$(foreach name, $(INTRO_TR), $(OUT)/$(name).html)
+INTRO =									\
+		http/request_processing					\
+		http/server_names					\
+		http/configuring_https_servers				\
 
-HOWTO_TR =	tr/docs/debugging_log					\
-		tr/docs/http/converting_rewrite_rules			\
+INTRO_XML =	$(foreach name, $(INTRO), xml/$(LANG)/docs/$(name).xml)
+INTRO_HTML =	$(foreach name, $(INTRO), $(OUT)/$(LANG)/docs/$(name).html)
 
-HOWTO_TR_XML =	$(foreach name, $(HOWTO_TR), xml/$(name).xml)
-HOWTO_TR_HTML =	$(foreach name, $(HOWTO_TR), $(OUT)/$(name).html)
+HOWTO =									\
+		debugging_log						\
+		http/converting_rewrite_rules				\
 
-FAQ_TR =	tr/docs/sys_errlist					\
+HOWTO_XML =	$(foreach name, $(HOWTO), xml/$(LANG)/docs/$(name).xml)
+HOWTO_HTML =	$(foreach name, $(HOWTO), $(OUT)/$(LANG)/docs/$(name).html)
 
-FAQ_TR_XML =	$(foreach name, $(FAQ_TR), xml/$(name).xml)
-FAQ_TR_HTML =	$(foreach name, $(FAQ_TR), $(OUT)/$(name).html)
+FAQ =									\
+		sys_errlist						\
 
-tr:									\
-		$(OUT)/tr/index.html					\
-		$(OUT)/tr/docs/index.html				\
-		$(DOCS_TR_HTML)						\
-		$(INTRO_TR_HTML)					\
-		$(HOWTO_TR_HTML)					\
-		$(FAQ_TR_HTML)						\
+FAQ_XML =	$(foreach name, $(FAQ), xml/$(LANG)/docs/$(name).xml)
+FAQ_HTML =	$(foreach name, $(FAQ), $(OUT)/$(LANG)/docs/$(name).html)
 
-$(OUT)/tr/docs/introduction.html:					\
-		xml/tr/docs/introduction.xml				\
-		$(INTRO_TR_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(LANG):								\
+		$(OUT)/$(LANG)/index.html				\
+		$(OUT)/$(LANG)/docs/index.html				\
+		$(DOCS_HTML)						\
+		$(INTRO_HTML)						\
+		$(HOWTO_HTML)						\
+		$(FAQ_HTML)						\
 
-$(OUT)/tr/docs/howto.html:						\
-		xml/tr/docs/howto.xml					\
-		$(HOWTO_TR_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/index.html:						\
+		$(DOCS_XML)						\
+
+$(OUT)/$(LANG)/docs/introduction.html:					\
+		$(INTRO_XML)						\
 
-$(OUT)/tr/docs/faq.html:						\
-		xml/tr/docs/faq.xml					\
-		$(FAQ_TR_XML)						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
+$(OUT)/$(LANG)/docs/howto.html:						\
+		$(HOWTO_XML)						\
+
+$(OUT)/$(LANG)/docs/faq.html:						\
+		$(FAQ_XML)						\