1#-------------------------------------------------------------------------
2#
3# Makefile for src/backend/utils/mb/Unicode
4#
5# Copyright (c) 2001-2020, PostgreSQL Global Development Group
6#
7# src/backend/utils/mb/Unicode/Makefile
8#
9#-------------------------------------------------------------------------
10
11subdir = src/backend/utils/mb/Unicode
12top_builddir = ../../../../..
13include $(top_builddir)/src/Makefile.global
14
15ISO8859MAPS = iso8859_2_to_utf8.map utf8_to_iso8859_2.map \
16	iso8859_3_to_utf8.map utf8_to_iso8859_3.map \
17	iso8859_4_to_utf8.map utf8_to_iso8859_4.map \
18	iso8859_5_to_utf8.map utf8_to_iso8859_5.map \
19	iso8859_6_to_utf8.map utf8_to_iso8859_6.map \
20	iso8859_7_to_utf8.map utf8_to_iso8859_7.map \
21	iso8859_8_to_utf8.map utf8_to_iso8859_8.map \
22	iso8859_9_to_utf8.map utf8_to_iso8859_9.map \
23	iso8859_10_to_utf8.map utf8_to_iso8859_10.map \
24	iso8859_13_to_utf8.map utf8_to_iso8859_13.map \
25	iso8859_14_to_utf8.map utf8_to_iso8859_14.map \
26	iso8859_15_to_utf8.map utf8_to_iso8859_15.map \
27	iso8859_16_to_utf8.map utf8_to_iso8859_16.map
28
29WINMAPS = win866_to_utf8.map utf8_to_win866.map \
30	win874_to_utf8.map utf8_to_win874.map \
31	win1250_to_utf8.map utf8_to_win1250.map \
32	win1251_to_utf8.map utf8_to_win1251.map \
33	win1252_to_utf8.map utf8_to_win1252.map \
34	win1253_to_utf8.map utf8_to_win1253.map \
35	win1254_to_utf8.map utf8_to_win1254.map \
36	win1255_to_utf8.map utf8_to_win1255.map \
37	win1256_to_utf8.map utf8_to_win1256.map \
38	win1257_to_utf8.map utf8_to_win1257.map \
39	win1258_to_utf8.map utf8_to_win1258.map
40
41GENERICMAPS = $(ISO8859MAPS) $(WINMAPS) \
42	gbk_to_utf8.map utf8_to_gbk.map \
43	koi8r_to_utf8.map utf8_to_koi8r.map \
44	koi8u_to_utf8.map utf8_to_koi8u.map
45
46SPECIALMAPS = euc_cn_to_utf8.map utf8_to_euc_cn.map \
47	euc_jp_to_utf8.map utf8_to_euc_jp.map \
48	euc_kr_to_utf8.map utf8_to_euc_kr.map \
49	euc_tw_to_utf8.map utf8_to_euc_tw.map \
50	sjis_to_utf8.map utf8_to_sjis.map \
51	gb18030_to_utf8.map utf8_to_gb18030.map \
52	big5_to_utf8.map utf8_to_big5.map \
53	johab_to_utf8.map utf8_to_johab.map \
54	uhc_to_utf8.map utf8_to_uhc.map \
55	euc_jis_2004_to_utf8.map utf8_to_euc_jis_2004.map \
56	shift_jis_2004_to_utf8.map utf8_to_shift_jis_2004.map
57
58MAPS = $(GENERICMAPS) $(SPECIALMAPS)
59
60ISO8859TEXTS = 8859-2.TXT 8859-3.TXT 8859-4.TXT 8859-5.TXT \
61	8859-6.TXT 8859-7.TXT 8859-8.TXT 8859-9.TXT \
62	8859-10.TXT 8859-13.TXT 8859-14.TXT 8859-15.TXT \
63	8859-16.TXT
64
65WINTEXTS = CP866.TXT CP874.TXT CP936.TXT \
66	CP1250.TXT CP1251.TXT \
67	CP1252.TXT CP1253.TXT CP1254.TXT CP1255.TXT \
68	CP1256.TXT CP1257.TXT CP1258.TXT
69
70GENERICTEXTS = $(ISO8859TEXTS) $(WINTEXTS) \
71	KOI8-R.TXT KOI8-U.TXT
72
73all: $(MAPS)
74
75$(GENERICMAPS): UCS_to_most.pl $(GENERICTEXTS)
76	$(PERL) -I $(srcdir) $<
77
78johab_to_utf8.map utf8_to_johab.map: UCS_to_JOHAB.pl JOHAB.TXT
79	$(PERL) -I $(srcdir) $<
80
81uhc_to_utf8.map utf8_to_uhc.map: UCS_to_UHC.pl windows-949-2000.xml
82	$(PERL) -I $(srcdir) $<
83
84euc_jp_to_utf8.map utf8_to_euc_jp.map: UCS_to_EUC_JP.pl CP932.TXT JIS0212.TXT
85	$(PERL) -I $(srcdir) $<
86
87euc_cn_to_utf8.map utf8_to_euc_cn.map: UCS_to_EUC_CN.pl gb-18030-2000.xml
88	$(PERL) -I $(srcdir) $<
89
90euc_kr_to_utf8.map utf8_to_euc_kr.map: UCS_to_EUC_KR.pl KSX1001.TXT
91	$(PERL) -I $(srcdir) $<
92
93euc_tw_to_utf8.map utf8_to_euc_tw.map: UCS_to_EUC_TW.pl CNS11643.TXT
94	$(PERL) -I $(srcdir) $<
95
96sjis_to_utf8.map utf8_to_sjis.map: UCS_to_SJIS.pl CP932.TXT
97	$(PERL) -I $(srcdir) $<
98
99gb18030_to_utf8.map utf8_to_gb18030.map: UCS_to_GB18030.pl gb-18030-2000.xml
100	$(PERL) -I $(srcdir) $<
101
102big5_to_utf8.map utf8_to_big5.map: UCS_to_BIG5.pl BIG5.TXT CP950.TXT
103	$(PERL) -I $(srcdir) $<
104
105euc_jis_2004_to_utf8.map utf8_to_euc_jis_2004.map: UCS_to_EUC_JIS_2004.pl euc-jis-2004-std.txt
106	$(PERL) -I $(srcdir) $<
107
108shift_jis_2004_to_utf8.map utf8_to_shift_jis_2004.map: UCS_to_SHIFT_JIS_2004.pl sjis-0213-2004-std.txt
109	$(PERL) -I $(srcdir) $<
110
111distclean: clean
112	rm -f $(TEXTS)
113
114maintainer-clean: distclean
115	rm -f $(MAPS)
116
117
118BIG5.TXT CNS11643.TXT:
119	$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/$(@F)
120
121euc-jis-2004-std.txt sjis-0213-2004-std.txt:
122	$(DOWNLOAD) http://x0213.org/codetable/$(@F)
123
124gb-18030-2000.xml windows-949-2000.xml:
125	$(DOWNLOAD) https://ssl.icu-project.org/repos/icu/data/trunk/charset/data/xml/$(@F)
126
127GB2312.TXT:
128	$(DOWNLOAD) 'http://trac.greenstone.org/browser/trunk/gsdl/unicode/MAPPINGS/EASTASIA/GB/GB2312.TXT?rev=1842&format=txt'
129
130JIS0212.TXT:
131	$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/$(@F)
132
133JOHAB.TXT KSX1001.TXT:
134	$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/$(@F)
135
136KOI8-R.TXT KOI8-U.TXT:
137	$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/$(@F)
138
139$(ISO8859TEXTS):
140	$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/ISO8859/$(@F)
141
142$(filter-out CP8%,$(WINTEXTS)) CP932.TXT CP950.TXT:
143	$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/$(@F)
144
145$(filter CP8%,$(WINTEXTS)):
146	$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/$(@F)
147