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