xref: /illumos-gate/usr/src/data/locale/Makefile (revision 1326c488)
1503609a9SYuri Pankov#
2503609a9SYuri Pankov# This file and its contents are supplied under the terms of the
3503609a9SYuri Pankov# Common Development and Distribution License ("CDDL"), version 1.0.
4503609a9SYuri Pankov# You may only use this file in accordance with the terms of version
5503609a9SYuri Pankov# 1.0 of the CDDL.
6503609a9SYuri Pankov#
7503609a9SYuri Pankov# A full copy of the text of the CDDL should have accompanied this
8503609a9SYuri Pankov# source.  A copy of the CDDL is also available via the Internet at
9503609a9SYuri Pankov# http://www.illumos.org/license/CDDL.
10503609a9SYuri Pankov#
11503609a9SYuri Pankov
12503609a9SYuri Pankov#
13503609a9SYuri Pankov# Copyright 2017 Nexenta Systems, Inc.
14503609a9SYuri Pankov# Copyright 2011 EveryCity Ltd. All rights reserved.
15503609a9SYuri Pankov# Copyright 2013 DEY Storage Systems, Inc.
16503609a9SYuri Pankov# Copyright 2016 Joyent, Inc.
17955eb5e1SGarrett D'Amore# Copyright 2019 Garrett D'Amore <garrett@damore.org>
18503609a9SYuri Pankov#
19503609a9SYuri Pankov
20503609a9SYuri Pankovinclude		$(SRC)/data/Makefile.data
216cf13876SYuri Pankovinclude		Makefile.com
22503609a9SYuri Pankov
236cf13876SYuri PankovLOCNAMES=	$(ISO8859_1_LOCALES:%=%.ISO8859-1) \
24503609a9SYuri Pankov		$(ISO8859_2_LOCALES:%=%.ISO8859-2) \
25503609a9SYuri Pankov		$(ISO8859_5_LOCALES:%=%.ISO8859-5) \
26503609a9SYuri Pankov		$(ISO8859_6_LOCALES:%=%.ISO8859-6) \
27503609a9SYuri Pankov		$(ISO8859_7_LOCALES:%=%.ISO8859-7) \
28503609a9SYuri Pankov		$(ISO8859_9_LOCALES:%=%.ISO8859-9) \
29503609a9SYuri Pankov		$(ISO8859_11_LOCALES:%=%.ISO8859-11) \
30503609a9SYuri Pankov		$(ISO8859_13_LOCALES:%=%.ISO8859-13) \
31503609a9SYuri Pankov		$(ISO8859_15_LOCALES:%=%.ISO8859-15) \
32503609a9SYuri Pankov		$(KOI8_R_LOCALES:%=%.KOI8-R) \
33503609a9SYuri Pankov		$(GB18030_LOCALES:%=%.GB18030) \
34503609a9SYuri Pankov		$(UTF_8_LOCALES:%=%.UTF-8)
35503609a9SYuri PankovLOCDIRS=	$(LOCNAMES:%=locale/%)
36503609a9SYuri Pankov
37503609a9SYuri PankovSTAMPFILES=	$(LOCDIRS:%=%/stamp)
38503609a9SYuri Pankov
396cf13876SYuri PankovCATDIRS=	$(LOCDIRS:%=%/LC_COLLATE) \
40503609a9SYuri Pankov		$(LOCDIRS:%=%/LC_CTYPE) \
41503609a9SYuri Pankov		$(LOCDIRS:%=%/LC_MESSAGES) \
42503609a9SYuri Pankov		$(LOCDIRS:%=%/LC_MONETARY) \
43503609a9SYuri Pankov		$(LOCDIRS:%=%/LC_NUMERIC) \
44503609a9SYuri Pankov		$(LOCDIRS:%=%/LC_TIME)
45503609a9SYuri PankovDATA=		$(CATDIRS:%=%/LCL_DATA)
46503609a9SYuri Pankov
47503609a9SYuri Pankov.PARALLEL:
48503609a9SYuri Pankov
49503609a9SYuri PankovDCOLL=		LC_COLLATE/LCL_DATA
50503609a9SYuri PankovDCTYPE=		LC_CTYPE/LCL_DATA
51503609a9SYuri PankovDMSGS=		LC_MESSAGES/LCL_DATA
52503609a9SYuri PankovDMON=		LC_MONETARY/LCL_DATA
53503609a9SYuri PankovDNUM=		LC_NUMERIC/LCL_DATA
54503609a9SYuri PankovDTIME=		LC_TIME/LCL_DATA
55503609a9SYuri Pankov
56503609a9SYuri PankovROOTLOCDIRS=	$(LOCDIRS:%=$(ROOTLIB)/%)
57503609a9SYuri PankovROOTCATDIRS=	$(CATDIRS:%=$(ROOTLIB)/%)
58503609a9SYuri PankovROOTDATA=	$(DATA:%=$(ROOTLIB)/%)
596cf13876SYuri Pankov$(ROOTDATA):=	FILEMODE=0444
60503609a9SYuri Pankov
61503609a9SYuri PankovTRANSDIR=	translations
62503609a9SYuri PankovTRANSMOS=	$(TRANSLOCS:%=$(TRANSDIR)/%.mo)
63503609a9SYuri PankovOSTMOFILE=	LC_MESSAGES/SUNW_OST_OSLIB.mo
64503609a9SYuri PankovPRIVFILE=	LC_MESSAGES/priv_names
65503609a9SYuri PankovROOTTRANSLATIONS=$(TRANSLOCS:%=$(ROOTLIB)/locale/%/$(OSTMOFILE))
66503609a9SYuri PankovROOTPRIVTRANS=	$(PRIVTRANSLOCS:%=$(ROOTLIB)/locale/%/$(PRIVFILE))
67503609a9SYuri Pankov
68503609a9SYuri Pankov.KEEP_STATE:
69503609a9SYuri Pankov
70503609a9SYuri Pankovall:		$(DATA)
71503609a9SYuri Pankov
72503609a9SYuri Pankovclean:
73503609a9SYuri Pankov		$(RM) $(CLEANFILES) $(STAMPFILES)
74503609a9SYuri Pankov
75503609a9SYuri Pankovclobber:	clean
76503609a9SYuri Pankov		$(RM) -r $(LOCDIRS)
77503609a9SYuri Pankov		$(RM) $(TRANSMOS)
78503609a9SYuri Pankov
79503609a9SYuri Pankovinstall:	all $(ROOTDATA) $(ROOTTRANSLATIONS) $(ROOTPRIVTRANS)
80503609a9SYuri Pankov
81503609a9SYuri Pankovtranslate:	$(ROOTTRANSLATIONS) $(ROOTPRIVTRANS)
82503609a9SYuri Pankov
83503609a9SYuri Pankovlocale $(ROOTLOCDIRS) $(ROOTCATDIRS):
84503609a9SYuri Pankov		$(INS.dir)
85503609a9SYuri Pankov
86503609a9SYuri Pankov$(STAMPFILES):	locale
87503609a9SYuri Pankov
886cf13876SYuri Pankovlocale/%.GB18030/stamp:	data/%.GB18030.src data/GB18030.cm
896cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/GB18030.cm $(@D)
90503609a9SYuri Pankov		$(TOUCH) $@
916cf13876SYuri Pankovlocale/%.ISO8859-1/stamp: data/%.ISO8859-1.src data/ISO8859-1.cm
926cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-1.cm $(@D)
93503609a9SYuri Pankov		$(TOUCH) $@
946cf13876SYuri Pankovlocale/%.ISO8859-2/stamp: data/%.ISO8859-2.src data/ISO8859-2.cm
956cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-2.cm $(@D)
96503609a9SYuri Pankov		$(TOUCH) $@
976cf13876SYuri Pankovlocale/%.ISO8859-5/stamp: data/%.ISO8859-5.src data/ISO8859-5.cm
986cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-5.cm $(@D)
99503609a9SYuri Pankov		$(TOUCH) $@
1006cf13876SYuri Pankovlocale/%.ISO8859-6/stamp: data/%.ISO8859-6.src data/ISO8859-6.cm
1016cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-6.cm $(@D)
102503609a9SYuri Pankov		$(TOUCH) $@
1036cf13876SYuri Pankovlocale/%.ISO8859-7/stamp: data/%.ISO8859-7.src data/ISO8859-7.cm
1046cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-7.cm $(@D)
105503609a9SYuri Pankov		$(TOUCH) $@
1066cf13876SYuri Pankovlocale/%.ISO8859-9/stamp: data/%.ISO8859-9.src data/ISO8859-9.cm
1076cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-9.cm $(@D)
108503609a9SYuri Pankov		$(TOUCH) $@
1096cf13876SYuri Pankov# The only locale here is th_TH.ISO8859-11, missing from current CLDR release -
1106cf13876SYuri Pankov# use UTF-8 source file.
1116cf13876SYuri Pankovlocale/%.ISO8859-11/stamp: data/%.UTF-8.src data/ISO8859-11.cm
1126cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-11.cm $(@D)
113503609a9SYuri Pankov		$(TOUCH) $@
1146cf13876SYuri Pankovlocale/%.ISO8859-13/stamp: data/%.ISO8859-13.src data/ISO8859-13.cm
1156cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-13.cm $(@D)
116503609a9SYuri Pankov		$(TOUCH) $@
1176cf13876SYuri Pankovlocale/%.ISO8859-15/stamp: data/%.ISO8859-15.src data/ISO8859-15.cm
1186cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/ISO8859-15.cm $(@D)
119503609a9SYuri Pankov		$(TOUCH) $@
1206cf13876SYuri Pankovlocale/%.KOI8-R/stamp:	data/%.KOI8-R.src data/KOI8-R.cm
121503609a9SYuri Pankov		$(LCDEF) -U -w data/widths.txt -i $< -f data/KOI8-R.cm $(@D)
122503609a9SYuri Pankov		$(TOUCH) $@
1236cf13876SYuri Pankov# Strip LC_CTYPE contents for UTF-8 locales and replace them
1246cf13876SYuri Pankov# with common LC_CTYPE definition.
1256cf13876SYuri Pankovlocale/%.UTF-8/stamp: data/%.UTF-8.src data/UTF-8.cm data/common.UTF-8.src
1266cf13876SYuri Pankov		$(SED) \
1276cf13876SYuri Pankov		-e '/^LC_CTYPE/,/^END LC_CTYPE/d' \
1286cf13876SYuri Pankov		-e '$$r data/common.UTF-8.src' $< | \
1296cf13876SYuri Pankov		$(LCDEF) -U -w data/widths.txt -f data/UTF-8.cm $(@D)
130503609a9SYuri Pankov		$(TOUCH) $@
131503609a9SYuri Pankov
132955eb5e1SGarrett D'Amore# Special handling for zz_AA test locale
133955eb5e1SGarrett D'Amorelocale/zz_AA.UTF-8/stamp: data/en_US.UTF-8.src data/UTF-8.cm data/common.UTF-8.src
134955eb5e1SGarrett D'Amore		$(SED) \
135955eb5e1SGarrett D'Amore		-e '/^LC_CTYPE/,/^END LC_CTYPE/d' \
136955eb5e1SGarrett D'Amore		-e '$$r data/common.UTF-8.src' data/en_US.UTF-8.src | \
137955eb5e1SGarrett D'Amore		$(LCDEF) -U -w data/widths.txt -f data/UTF-8.cm $(@D)
138955eb5e1SGarrett D'Amore		$(TOUCH) $@
139955eb5e1SGarrett D'Amore
140503609a9SYuri Pankovlocale/%/$(DCOLL): locale/%/stamp
141503609a9SYuri Pankovlocale/%/$(DCTYPE): locale/%/stamp
142503609a9SYuri Pankovlocale/%/$(DMSGS): locale/%/stamp
143503609a9SYuri Pankovlocale/%/$(DMON): locale/%/stamp
144503609a9SYuri Pankovlocale/%/$(DNUM): locale/%/stamp
145503609a9SYuri Pankovlocale/%/$(DTIME): locale/%/stamp
146503609a9SYuri Pankov
147503609a9SYuri Pankov$(ROOTDATA):	$(ROOTLOCDIRS) $(ROOTCATDIRS) $(DATA)
148503609a9SYuri Pankov		$(RM) $@
149*1326c488SToomas Soome		if [[ -f $(@:$(ROOTLIB)/%=%) ]]; then \
150*1326c488SToomas Soome			$(CP) $(@:$(ROOTLIB)/%=%) $@; \
151*1326c488SToomas Soome			$(CHMOD) -f 0444 $@ ; \
152*1326c488SToomas Soome		fi
153503609a9SYuri Pankov
154503609a9SYuri Pankov%.mo:		%.po
155503609a9SYuri Pankov		$(MSGFMT) -o $@ $<
156503609a9SYuri Pankov
157503609a9SYuri Pankov$(ROOTLIB)/locale/%/$(OSTMOFILE): $(TRANSDIR)/%.mo
158503609a9SYuri Pankov		$(INS.rename)
159503609a9SYuri Pankov		$(CHMOD) 0444 $@
160503609a9SYuri Pankov
161503609a9SYuri Pankov$(ROOTLIB)/locale/%/$(PRIVFILE): $(TRANSDIR)/%.priv
162503609a9SYuri Pankov		$(INS.rename)
163503609a9SYuri Pankov		$(CHMOD) 0444 $@
164