mirror of
https://github.com/postgres/postgres.git
synced 2026-01-05 23:38:41 +03:00
Fix the rules so that each rule is parallel safe, using the same trickery that we use elsewhere in the tree for rules that produce more than one output file. Refactor the whole makefile so that there is less repetition. Discussion: https://www.postgresql.org/message-id/18e34084-aab1-1b4c-edd1-c4f9fb04f714%40enterprisedb.com
103 lines
3.5 KiB
Makefile
103 lines
3.5 KiB
Makefile
#-------------------------------------------------------------------------
|
|
#
|
|
# Makefile for src/backend/utils/mb/Unicode
|
|
#
|
|
# Copyright (c) 2001-2021, PostgreSQL Global Development Group
|
|
#
|
|
# src/backend/utils/mb/Unicode/Makefile
|
|
#
|
|
#-------------------------------------------------------------------------
|
|
|
|
subdir = src/backend/utils/mb/Unicode
|
|
top_builddir = ../../../../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
|
|
# Define a rule to create the map files from downloaded text input
|
|
# files using a script. Arguments:
|
|
#
|
|
# 1: encoding name used in output files (lower case)
|
|
# 2: script name
|
|
# 3: input text files
|
|
# 4: argument to pass to script (optional)
|
|
#
|
|
# We also collect all the input and output files in variables to
|
|
# define the build and clean rules below.
|
|
#
|
|
# Note that while each script call produces two output files, to be
|
|
# parallel-make safe we need to split this into two rules. (See for
|
|
# example gram.y for more explanation.)
|
|
#
|
|
define map_rule
|
|
MAPS += $(1)_to_utf8.map utf8_to_$(1).map
|
|
ALL_TEXTS += $(3)
|
|
|
|
$(1)_to_utf8.map: $(2) $(3)
|
|
$(PERL) -I $$(srcdir) $$< $(4)
|
|
|
|
utf8_to_$(1).map: $(1)_to_utf8.map
|
|
@touch $$@
|
|
endef
|
|
|
|
$(foreach n,2 3 4 5 6 7 8 9 10 13 14 15 16,$(eval $(call map_rule,iso8859_$(n),UCS_to_most.pl,8859-$(n).TXT,ISO8859_$(n))))
|
|
|
|
$(foreach n,866 874 1250 1251 1252 1253 1254 1255 1256 1257 1258,$(eval $(call map_rule,win$(n),UCS_to_most.pl,CP$(n).TXT,WIN$(n))))
|
|
|
|
$(eval $(call map_rule,koi8r,UCS_to_most.pl,KOI8-R.TXT,KOI8R))
|
|
$(eval $(call map_rule,koi8u,UCS_to_most.pl,KOI8-U.TXT,KOI8U))
|
|
$(eval $(call map_rule,gbk,UCS_to_most.pl,CP936.TXT,GBK))
|
|
|
|
$(eval $(call map_rule,johab,UCS_to_JOHAB.pl,JOHAB.TXT))
|
|
$(eval $(call map_rule,uhc,UCS_to_UHC.pl,windows-949-2000.xml))
|
|
$(eval $(call map_rule,euc_jp,UCS_to_EUC_JP.pl,CP932.TXT JIS0212.TXT))
|
|
$(eval $(call map_rule,euc_cn,UCS_to_EUC_CN.pl,gb-18030-2000.xml))
|
|
$(eval $(call map_rule,euc_kr,UCS_to_EUC_KR.pl,KSX1001.TXT))
|
|
$(eval $(call map_rule,euc_tw,UCS_to_EUC_TW.pl,CNS11643.TXT))
|
|
$(eval $(call map_rule,sjis,UCS_to_SJIS.pl,CP932.TXT))
|
|
$(eval $(call map_rule,gb18030,UCS_to_GB18030.pl,gb-18030-2000.xml))
|
|
$(eval $(call map_rule,big5,UCS_to_BIG5.pl,CP950.TXT BIG5.TXT CP950.TXT))
|
|
$(eval $(call map_rule,euc_jis_2004,UCS_to_EUC_JIS_2004.pl,euc-jis-2004-std.txt))
|
|
$(eval $(call map_rule,shift_jis_2004,UCS_to_SHIFT_JIS_2004.pl,sjis-0213-2004-std.txt))
|
|
|
|
# remove duplicates
|
|
TEXTS = $(sort $(ALL_TEXTS))
|
|
|
|
all: $(MAPS)
|
|
|
|
distclean: clean
|
|
rm -f $(TEXTS)
|
|
|
|
maintainer-clean: distclean
|
|
rm -f $(MAPS)
|
|
|
|
|
|
BIG5.TXT CNS11643.TXT:
|
|
$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/$(@F)
|
|
|
|
euc-jis-2004-std.txt sjis-0213-2004-std.txt:
|
|
$(DOWNLOAD) http://x0213.org/codetable/$(@F)
|
|
|
|
gb-18030-2000.xml windows-949-2000.xml:
|
|
$(DOWNLOAD) https://raw.githubusercontent.com/unicode-org/icu-data/master/charset/data/xml/$(@F)
|
|
|
|
GB2312.TXT:
|
|
$(DOWNLOAD) 'http://trac.greenstone.org/browser/trunk/gsdl/unicode/MAPPINGS/EASTASIA/GB/GB2312.TXT?rev=1842&format=txt'
|
|
|
|
JIS0212.TXT:
|
|
$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/$(@F)
|
|
|
|
JOHAB.TXT KSX1001.TXT:
|
|
$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/$(@F)
|
|
|
|
KOI8-R.TXT KOI8-U.TXT:
|
|
$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/$(@F)
|
|
|
|
$(filter 8859-%.TXT,$(TEXTS)):
|
|
$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/ISO8859/$(@F)
|
|
|
|
$(filter CP9%.TXT CP12%.TXT,$(TEXTS)):
|
|
$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/$(@F)
|
|
|
|
$(filter CP8%.TXT,$(TEXTS)):
|
|
$(DOWNLOAD) https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/$(@F)
|