1#------------------------------------------------------------------------- 2# 3# Makefile-- 4# Makefile for utils/mb/conversion_procs 5# 6# IDENTIFICATION 7# src/backend/utils/mb/conversion_procs/Makefile 8# 9#------------------------------------------------------------------------- 10 11subdir = src/backend/utils/mb/conversion_procs 12top_builddir = ../../../../.. 13include $(top_builddir)/src/Makefile.global 14 15SQLSCRIPT = conversion_create.sql 16 17SUBDIRS = \ 18 ascii_and_mic cyrillic_and_mic euc_cn_and_mic euc_jp_and_sjis \ 19 euc_kr_and_mic euc_tw_and_big5 latin2_and_win1250 latin_and_mic \ 20 utf8_and_ascii utf8_and_big5 utf8_and_cyrillic utf8_and_euc_cn \ 21 utf8_and_euc_jp utf8_and_euc_kr utf8_and_euc_tw utf8_and_gb18030 \ 22 utf8_and_gbk utf8_and_iso8859 utf8_and_iso8859_1 utf8_and_johab \ 23 utf8_and_sjis utf8_and_win utf8_and_uhc \ 24 utf8_and_euc2004 utf8_and_sjis2004 euc2004_sjis2004 25 26$(recurse) 27 28# conversion_name source_encoding destination_encoding function object 29CONVERSIONS = \ 30 ascii_to_mic SQL_ASCII MULE_INTERNAL ascii_to_mic ascii_and_mic \ 31 mic_to_ascii MULE_INTERNAL SQL_ASCII mic_to_ascii ascii_and_mic \ 32 koi8_r_to_mic KOI8R MULE_INTERNAL koi8r_to_mic cyrillic_and_mic \ 33 mic_to_koi8_r MULE_INTERNAL KOI8R mic_to_koi8r cyrillic_and_mic \ 34 iso_8859_5_to_mic ISO-8859-5 MULE_INTERNAL iso_to_mic cyrillic_and_mic \ 35 mic_to_iso_8859_5 MULE_INTERNAL ISO-8859-5 mic_to_iso cyrillic_and_mic \ 36 windows_1251_to_mic WIN1251 MULE_INTERNAL win1251_to_mic cyrillic_and_mic \ 37 mic_to_windows_1251 MULE_INTERNAL WIN1251 mic_to_win1251 cyrillic_and_mic \ 38 windows_866_to_mic WIN866 MULE_INTERNAL win866_to_mic cyrillic_and_mic \ 39 mic_to_windows_866 MULE_INTERNAL WIN866 mic_to_win866 cyrillic_and_mic \ 40 koi8_r_to_windows_1251 KOI8R WIN1251 koi8r_to_win1251 cyrillic_and_mic \ 41 windows_1251_to_koi8_r WIN1251 KOI8R win1251_to_koi8r cyrillic_and_mic \ 42 koi8_r_to_windows_866 KOI8R WIN866 koi8r_to_win866 cyrillic_and_mic \ 43 windows_866_to_koi8_r WIN866 KOI8R win866_to_koi8r cyrillic_and_mic \ 44 windows_866_to_windows_1251 WIN866 WIN1251 win866_to_win1251 cyrillic_and_mic \ 45 windows_1251_to_windows_866 WIN1251 WIN866 win1251_to_win866 cyrillic_and_mic \ 46 iso_8859_5_to_koi8_r ISO-8859-5 KOI8R iso_to_koi8r cyrillic_and_mic \ 47 koi8_r_to_iso_8859_5 KOI8R ISO-8859-5 koi8r_to_iso cyrillic_and_mic \ 48 iso_8859_5_to_windows_1251 ISO-8859-5 WIN1251 iso_to_win1251 cyrillic_and_mic \ 49 windows_1251_to_iso_8859_5 WIN1251 ISO-8859-5 win1251_to_iso cyrillic_and_mic \ 50 iso_8859_5_to_windows_866 ISO-8859-5 WIN866 iso_to_win866 cyrillic_and_mic \ 51 windows_866_to_iso_8859_5 WIN866 ISO-8859-5 win866_to_iso cyrillic_and_mic \ 52 euc_cn_to_mic EUC_CN MULE_INTERNAL euc_cn_to_mic euc_cn_and_mic \ 53 mic_to_euc_cn MULE_INTERNAL EUC_CN mic_to_euc_cn euc_cn_and_mic \ 54 euc_jp_to_sjis EUC_JP SJIS euc_jp_to_sjis euc_jp_and_sjis \ 55 sjis_to_euc_jp SJIS EUC_JP sjis_to_euc_jp euc_jp_and_sjis \ 56 euc_jp_to_mic EUC_JP MULE_INTERNAL euc_jp_to_mic euc_jp_and_sjis \ 57 sjis_to_mic SJIS MULE_INTERNAL sjis_to_mic euc_jp_and_sjis \ 58 mic_to_euc_jp MULE_INTERNAL EUC_JP mic_to_euc_jp euc_jp_and_sjis \ 59 mic_to_sjis MULE_INTERNAL SJIS mic_to_sjis euc_jp_and_sjis \ 60 euc_kr_to_mic EUC_KR MULE_INTERNAL euc_kr_to_mic euc_kr_and_mic \ 61 mic_to_euc_kr MULE_INTERNAL EUC_KR mic_to_euc_kr euc_kr_and_mic \ 62 euc_tw_to_big5 EUC_TW BIG5 euc_tw_to_big5 euc_tw_and_big5 \ 63 big5_to_euc_tw BIG5 EUC_TW big5_to_euc_tw euc_tw_and_big5 \ 64 euc_tw_to_mic EUC_TW MULE_INTERNAL euc_tw_to_mic euc_tw_and_big5 \ 65 big5_to_mic BIG5 MULE_INTERNAL big5_to_mic euc_tw_and_big5 \ 66 mic_to_euc_tw MULE_INTERNAL EUC_TW mic_to_euc_tw euc_tw_and_big5 \ 67 mic_to_big5 MULE_INTERNAL BIG5 mic_to_big5 euc_tw_and_big5 \ 68 iso_8859_2_to_mic LATIN2 MULE_INTERNAL latin2_to_mic latin2_and_win1250 \ 69 mic_to_iso_8859_2 MULE_INTERNAL LATIN2 mic_to_latin2 latin2_and_win1250 \ 70 windows_1250_to_mic WIN1250 MULE_INTERNAL win1250_to_mic latin2_and_win1250 \ 71 mic_to_windows_1250 MULE_INTERNAL WIN1250 mic_to_win1250 latin2_and_win1250 \ 72 iso_8859_2_to_windows_1250 LATIN2 WIN1250 latin2_to_win1250 latin2_and_win1250 \ 73 windows_1250_to_iso_8859_2 WIN1250 LATIN2 win1250_to_latin2 latin2_and_win1250 \ 74 iso_8859_1_to_mic LATIN1 MULE_INTERNAL latin1_to_mic latin_and_mic \ 75 mic_to_iso_8859_1 MULE_INTERNAL LATIN1 mic_to_latin1 latin_and_mic \ 76 iso_8859_3_to_mic LATIN3 MULE_INTERNAL latin3_to_mic latin_and_mic \ 77 mic_to_iso_8859_3 MULE_INTERNAL LATIN3 mic_to_latin3 latin_and_mic \ 78 iso_8859_4_to_mic LATIN4 MULE_INTERNAL latin4_to_mic latin_and_mic \ 79 mic_to_iso_8859_4 MULE_INTERNAL LATIN4 mic_to_latin4 latin_and_mic \ 80 ascii_to_utf8 SQL_ASCII UTF8 ascii_to_utf8 utf8_and_ascii \ 81 utf8_to_ascii UTF8 SQL_ASCII utf8_to_ascii utf8_and_ascii \ 82 big5_to_utf8 BIG5 UTF8 big5_to_utf8 utf8_and_big5 \ 83 utf8_to_big5 UTF8 BIG5 utf8_to_big5 utf8_and_big5 \ 84 utf8_to_koi8_r UTF8 KOI8R utf8_to_koi8r utf8_and_cyrillic \ 85 koi8_r_to_utf8 KOI8R UTF8 koi8r_to_utf8 utf8_and_cyrillic \ 86 utf8_to_koi8_u UTF8 KOI8U utf8_to_koi8u utf8_and_cyrillic \ 87 koi8_u_to_utf8 KOI8U UTF8 koi8u_to_utf8 utf8_and_cyrillic \ 88 utf8_to_windows_866 UTF8 WIN866 utf8_to_win utf8_and_win \ 89 windows_866_to_utf8 WIN866 UTF8 win_to_utf8 utf8_and_win \ 90 utf8_to_windows_874 UTF8 WIN874 utf8_to_win utf8_and_win \ 91 windows_874_to_utf8 WIN874 UTF8 win_to_utf8 utf8_and_win \ 92 utf8_to_windows_1250 UTF8 WIN1250 utf8_to_win utf8_and_win \ 93 windows_1250_to_utf8 WIN1250 UTF8 win_to_utf8 utf8_and_win \ 94 utf8_to_windows_1251 UTF8 WIN1251 utf8_to_win utf8_and_win \ 95 windows_1251_to_utf8 WIN1251 UTF8 win_to_utf8 utf8_and_win \ 96 utf8_to_windows_1252 UTF8 WIN1252 utf8_to_win utf8_and_win \ 97 windows_1252_to_utf8 WIN1252 UTF8 win_to_utf8 utf8_and_win \ 98 utf8_to_windows_1253 UTF8 WIN1253 utf8_to_win utf8_and_win \ 99 windows_1253_to_utf8 WIN1253 UTF8 win_to_utf8 utf8_and_win \ 100 utf8_to_windows_1254 UTF8 WIN1254 utf8_to_win utf8_and_win \ 101 windows_1254_to_utf8 WIN1254 UTF8 win_to_utf8 utf8_and_win \ 102 utf8_to_windows_1255 UTF8 WIN1255 utf8_to_win utf8_and_win \ 103 windows_1255_to_utf8 WIN1255 UTF8 win_to_utf8 utf8_and_win \ 104 utf8_to_windows_1256 UTF8 WIN1256 utf8_to_win utf8_and_win \ 105 windows_1256_to_utf8 WIN1256 UTF8 win_to_utf8 utf8_and_win \ 106 utf8_to_windows_1257 UTF8 WIN1257 utf8_to_win utf8_and_win \ 107 windows_1257_to_utf8 WIN1257 UTF8 win_to_utf8 utf8_and_win \ 108 utf8_to_windows_1258 UTF8 WIN1258 utf8_to_win utf8_and_win \ 109 windows_1258_to_utf8 WIN1258 UTF8 win_to_utf8 utf8_and_win \ 110 euc_cn_to_utf8 EUC_CN UTF8 euc_cn_to_utf8 utf8_and_euc_cn \ 111 utf8_to_euc_cn UTF8 EUC_CN utf8_to_euc_cn utf8_and_euc_cn \ 112 euc_jp_to_utf8 EUC_JP UTF8 euc_jp_to_utf8 utf8_and_euc_jp \ 113 utf8_to_euc_jp UTF8 EUC_JP utf8_to_euc_jp utf8_and_euc_jp \ 114 euc_kr_to_utf8 EUC_KR UTF8 euc_kr_to_utf8 utf8_and_euc_kr \ 115 utf8_to_euc_kr UTF8 EUC_KR utf8_to_euc_kr utf8_and_euc_kr \ 116 euc_tw_to_utf8 EUC_TW UTF8 euc_tw_to_utf8 utf8_and_euc_tw \ 117 utf8_to_euc_tw UTF8 EUC_TW utf8_to_euc_tw utf8_and_euc_tw \ 118 gb18030_to_utf8 GB18030 UTF8 gb18030_to_utf8 utf8_and_gb18030 \ 119 utf8_to_gb18030 UTF8 GB18030 utf8_to_gb18030 utf8_and_gb18030 \ 120 gbk_to_utf8 GBK UTF8 gbk_to_utf8 utf8_and_gbk \ 121 utf8_to_gbk UTF8 GBK utf8_to_gbk utf8_and_gbk \ 122 utf8_to_iso_8859_2 UTF8 LATIN2 utf8_to_iso8859 utf8_and_iso8859 \ 123 iso_8859_2_to_utf8 LATIN2 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 124 utf8_to_iso_8859_3 UTF8 LATIN3 utf8_to_iso8859 utf8_and_iso8859 \ 125 iso_8859_3_to_utf8 LATIN3 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 126 utf8_to_iso_8859_4 UTF8 LATIN4 utf8_to_iso8859 utf8_and_iso8859 \ 127 iso_8859_4_to_utf8 LATIN4 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 128 utf8_to_iso_8859_9 UTF8 LATIN5 utf8_to_iso8859 utf8_and_iso8859 \ 129 iso_8859_9_to_utf8 LATIN5 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 130 utf8_to_iso_8859_10 UTF8 LATIN6 utf8_to_iso8859 utf8_and_iso8859 \ 131 iso_8859_10_to_utf8 LATIN6 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 132 utf8_to_iso_8859_13 UTF8 LATIN7 utf8_to_iso8859 utf8_and_iso8859 \ 133 iso_8859_13_to_utf8 LATIN7 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 134 utf8_to_iso_8859_14 UTF8 LATIN8 utf8_to_iso8859 utf8_and_iso8859 \ 135 iso_8859_14_to_utf8 LATIN8 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 136 utf8_to_iso_8859_15 UTF8 LATIN9 utf8_to_iso8859 utf8_and_iso8859 \ 137 iso_8859_15_to_utf8 LATIN9 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 138 utf8_to_iso_8859_16 UTF8 LATIN10 utf8_to_iso8859 utf8_and_iso8859 \ 139 iso_8859_16_to_utf8 LATIN10 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 140 utf8_to_iso_8859_5 UTF8 ISO-8859-5 utf8_to_iso8859 utf8_and_iso8859 \ 141 iso_8859_5_to_utf8 ISO-8859-5 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 142 utf8_to_iso_8859_6 UTF8 ISO-8859-6 utf8_to_iso8859 utf8_and_iso8859 \ 143 iso_8859_6_to_utf8 ISO-8859-6 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 144 utf8_to_iso_8859_7 UTF8 ISO-8859-7 utf8_to_iso8859 utf8_and_iso8859 \ 145 iso_8859_7_to_utf8 ISO-8859-7 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 146 utf8_to_iso_8859_8 UTF8 ISO-8859-8 utf8_to_iso8859 utf8_and_iso8859 \ 147 iso_8859_8_to_utf8 ISO-8859-8 UTF8 iso8859_to_utf8 utf8_and_iso8859 \ 148 iso_8859_1_to_utf8 LATIN1 UTF8 iso8859_1_to_utf8 utf8_and_iso8859_1 \ 149 utf8_to_iso_8859_1 UTF8 LATIN1 utf8_to_iso8859_1 utf8_and_iso8859_1 \ 150 johab_to_utf8 JOHAB UTF8 johab_to_utf8 utf8_and_johab \ 151 utf8_to_johab UTF8 JOHAB utf8_to_johab utf8_and_johab \ 152 sjis_to_utf8 SJIS UTF8 sjis_to_utf8 utf8_and_sjis \ 153 utf8_to_sjis UTF8 SJIS utf8_to_sjis utf8_and_sjis \ 154 uhc_to_utf8 UHC UTF8 uhc_to_utf8 utf8_and_uhc \ 155 utf8_to_uhc UTF8 UHC utf8_to_uhc utf8_and_uhc \ 156 euc_jis_2004_to_utf8 EUC_JIS_2004 UTF8 euc_jis_2004_to_utf8 utf8_and_euc2004 \ 157 utf8_to_euc_jis_2004 UTF8 EUC_JIS_2004 utf8_to_euc_jis_2004 utf8_and_euc2004 \ 158 shift_jis_2004_to_utf8 SHIFT_JIS_2004 UTF8 shift_jis_2004_to_utf8 utf8_and_sjis2004 \ 159 utf8_to_shift_jis_2004 UTF8 SHIFT_JIS_2004 utf8_to_shift_jis_2004 utf8_and_sjis2004 \ 160 euc_jis_2004_to_shift_jis_2004 EUC_JIS_2004 SHIFT_JIS_2004 euc_jis_2004_to_shift_jis_2004 euc2004_sjis2004 \ 161 shift_jis_2004_to_euc_jis_2004 SHIFT_JIS_2004 EUC_JIS_2004 shift_jis_2004_to_euc_jis_2004 euc2004_sjis2004 162 163all: $(SQLSCRIPT) 164 165$(SQLSCRIPT): Makefile 166 @set -e; \ 167 set $(CONVERSIONS) ; \ 168 while [ "$$#" -gt 0 ] ; \ 169 do \ 170 name=$$1;shift; \ 171 se=$$1;shift; \ 172 de=$$1; shift; \ 173 func=$$1; shift; \ 174 obj=$$1; shift; \ 175 echo "-- $$se --> $$de"; \ 176 echo "CREATE OR REPLACE FUNCTION $$func (INTEGER, INTEGER, CSTRING, INTERNAL, INTEGER) RETURNS VOID AS '$$"libdir"/$$obj', '$$func' LANGUAGE C STRICT PARALLEL SAFE;"; \ 177 echo "COMMENT ON FUNCTION $$func(INTEGER, INTEGER, CSTRING, INTERNAL, INTEGER) IS 'internal conversion function for $$se to $$de';"; \ 178 echo "DROP CONVERSION pg_catalog.$$name;"; \ 179 echo "CREATE DEFAULT CONVERSION pg_catalog.$$name FOR '$$se' TO '$$de' FROM $$func;"; \ 180 echo "COMMENT ON CONVERSION pg_catalog.$$name IS 'conversion for $$se to $$de';"; \ 181 echo; \ 182 done > $@ 183 184install: $(SQLSCRIPT) installdirs 185 $(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)' 186 187installdirs: 188 $(MKDIR_P) '$(DESTDIR)$(datadir)' '$(DESTDIR)$(pkglibdir)' 189 190uninstall: 191 rm -f '$(DESTDIR)$(datadir)/$(SQLSCRIPT)' 192 193clean distclean maintainer-clean: 194 rm -f $(SQLSCRIPT) 195