Makefile revision 6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen#
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen# This file and its contents are supplied under the terms of the
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo Sirainen# Common Development and Distribution License ("CDDL"), version 1.0.
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo Sirainen# You may only use this file in accordance with the terms version 1.0
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo Sirainen# of the CDDL.
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo Sirainen#
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen# A full copy of the text of the CDDL should have accompanied this
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen# source. A copy of the CDDL is also available via the Internet at
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen# http://www.illumos.org/license/CDDL.
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen#
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen#
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen# Copyright 2010 Nexenta Systems, Inc. All rights reserved.
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen#
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo SirainenPROG=localedef
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Siraineninclude ../Makefile.cmd
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo SirainenOBJS = charmap.o collate.o ctype.o messages.o monetary.o numeric.o time.o \
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen scanner.o localedef.o wide.o parser.tab.o
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo SirainenHDRS = localedef.h
0b2b090cdc3d36f30d6d2ec99b35ac0b7657d538Timo Sirainen
f2de6ecc4424533633aea705f12d0f691d7ddf81Timo SirainenSRCS = $(OBJS:%.o=%.c)
f2de6ecc4424533633aea705f12d0f691d7ddf81Timo Sirainen
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo SirainenCPPFLAGS += -I $(SRC)/lib/libc/port/locale
54df49100a0111a956662cb8a327969badd2d72dTimo SirainenLDLIBS += -lgen
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo SirainenLDLIBS += -lavl
f2de6ecc4424533633aea705f12d0f691d7ddf81Timo SirainenYFLAGS = -d -b parser
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo SirainenCLEANFILES = $(OBJS) parser.tab.c parser.tab.h
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo SirainenCLEANFILES += \
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo Sirainen UTF-8.cm \
68a4946b12583b88fa802e52ebee45cd96056772Timo Sirainen 8859-1.cm 8859-2.cm 8859-3.cm 8859-4.cm \
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo Sirainen 8859-5.cm 8859-5.cm 8859-6.cm 8859-7.cm \
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo Sirainen 8859-8.cm 8859-9.cm 8859-9.cm 8859-10.cm \
54df49100a0111a956662cb8a327969badd2d72dTimo Sirainen 8859-11.cm 8859-13.cm 8859-14.cm 8859-15.cm \
c6ead31ba07401556abe0c69374d7fbed99844e7Timo Sirainen 8859-16.cm \
c6ead31ba07401556abe0c69374d7fbed99844e7Timo Sirainen KOI8-R.cm
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo SirainenCLOBBERFILES = $(PROG) $(POFILE) $(DATA:%=locale/%)
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo SirainenPIFILES = $(OBJS:%.o=%.i)
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo SirainenPOFILE = localedef_cmd.po
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo Sirainen
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo SirainenISO8859_1_LOCALES = \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen da_DK \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen de_CH \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen en_AU en_CA en_GB en_NZ en_US \
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo Sirainen es_AR es_BO es_CL es_CO es_EC es_GT es_MX es_NI es_PA \
68a4946b12583b88fa802e52ebee45cd96056772Timo Sirainen es_PE es_SV es_UY es_VE \
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo Sirainen fr_CA fr_CH \
a0044466cc46baf25a316ea63781c60aa52b58caTimo Sirainen is_IS \
a0044466cc46baf25a316ea63781c60aa52b58caTimo Sirainen it_CH \
a0044466cc46baf25a316ea63781c60aa52b58caTimo Sirainen sv_SE
68a4946b12583b88fa802e52ebee45cd96056772Timo Sirainen
68a4946b12583b88fa802e52ebee45cd96056772Timo SirainenISO8859_2_LOCALES = \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen cs_CZ \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen hr_HR \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen hu_HU \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen pl_PL \
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen sq_AL
2a7605bb97dc9ed8accf2537fad1073a5fc5ff48Timo Sirainen
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo SirainenISO8859_5_LOCALES = \
0ddb604f911b908085ef787455c015a91dc9c365Timo Sirainen bg_BG \
68a4946b12583b88fa802e52ebee45cd96056772Timo Sirainen mk_MK \
0ddb604f911b908085ef787455c015a91dc9c365Timo Sirainen ru_RU
0ddb604f911b908085ef787455c015a91dc9c365Timo Sirainen
0ddb604f911b908085ef787455c015a91dc9c365Timo SirainenISO8859_6_LOCALES = \
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo Sirainen ar_EG
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo Sirainen
0ddb604f911b908085ef787455c015a91dc9c365Timo SirainenISO8859_7_LOCALES = \
0ddb604f911b908085ef787455c015a91dc9c365Timo Sirainen el_GR
0ddb604f911b908085ef787455c015a91dc9c365Timo Sirainen
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo SirainenISO8859_9_LOCALES = \
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo Sirainen tr_TR
8e9666f46faceeef0f3c6f706f10f3a873e4b0ebTimo Sirainen
7aa59f55d8a4e02c7039fbd22660c4055bfc8393Timo SirainenISO8859_11_LOCALES = \
7aa59f55d8a4e02c7039fbd22660c4055bfc8393Timo Sirainen th_TH
ef1d718c6a3a3a48b9835b004b8496de9dc4bec5Timo Sirainen
ef1d718c6a3a3a48b9835b004b8496de9dc4bec5Timo SirainenISO8859_13_LOCALES = \
296857bde8dbe965bcfe5e96cf06d37c297d9315Timo Sirainen lt_LT \
296857bde8dbe965bcfe5e96cf06d37c297d9315Timo Sirainen lv_LV
511ba4416aafb9f9ba1a4193703b95a033267068Timo Sirainen
aa883f5fbc68920c48c4f52919e8a5bb9611e678Timo SirainenISO8859_15_LOCALES = \
ca_ES \
da_DK \
de_AT de_DE \
en_GB en_IE en_US \
es_ES \
fi_FI \
fr_BE fr_FR \
it_IT \
nl_BE nl_NL \
pt_PT \
sv_FI sv_SE
KOI8_R_LOCALES = \
ru_RU
#
# All new locales should be in UTF-8 form.
#
UTF_8_LOCALES = \
af_ZA \
ar_AE ar_BH ar_DZ ar_EG ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA \
ar_OM ar_QA ar_SA ar_TN ar_YE \
as_IN \
az_AZ \
be_BY \
bg_BG \
bn_BD bn_IN \
bo_CN bo_IN \
ca_ES \
cs_CZ \
da_DK \
de_AT de_BE de_CH de_DE de_LI de_LU \
el_CY el_GR \
en_AU en_BW en_BZ en_CA en_GB en_HK en_IE en_IN en_JM en_MH \
en_MT en_NA en_NZ en_PH en_PK en_SG en_TT en_US en_ZA en_ZW \
es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_GQ es_GT \
es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY \
es_VE \
et_EE \
fi_FI \
fil_PH \
fr_BE fr_CA fr_CF fr_CH fr_FR fr_GN fr_LU fr_MC fr_MG fr_ML \
fr_NE fr_SN \
ga_IE \
gu_IN \
he_IL \
hi_IN \
hr_HR \
hu_HU \
hy_AM \
id_ID \
ii_CN \
is_IS \
it_CH it_IT \
ja_JP \
ka_GE \
kk_KZ \
kn_IN \
ko_KR \
kok_IN \
lt_LT \
lv_LV \
mk_MK \
ml_IN \
mn_CN mn_MN \
mr_IN \
mt_MT \
ne_IN ne_NP \
nl_BE nl_NL \
nb_NO \
nn_NO \
or_IN \
pa_IN pa_PK \
pl_PL \
pt_BR pt_GW pt_MZ pt_PT \
ro_MD ro_RO \
ru_MD ru_RU ru_UA \
sa_IN \
si_LK \
sk_SK \
sq_AL \
sv_FI sv_SE \
ta_IN ta_LK \
te_IN \
th_TH \
tr_TR \
uk_UA \
ug_CN \
ur_IN ur_PK \
vi_VN \
zh_CN zh_HK zh_MO zh_SG zh_TW
LOCNAMES = \
$(ISO8859_1_LOCALES:%=%.ISO8859-1) \
$(ISO8859_2_LOCALES:%=%.ISO8859-2) \
$(ISO8859_5_LOCALES:%=%.ISO8859-5) \
$(ISO8859_6_LOCALES:%=%.ISO8859-6) \
$(ISO8859_7_LOCALES:%=%.ISO8859-7) \
$(ISO8859_9_LOCALES:%=%.ISO8859-9) \
$(ISO8859_11_LOCALES:%=%.ISO8859-11) \
$(ISO8859_13_LOCALES:%=%.ISO8859-13) \
$(ISO8859_15_LOCALES:%=%.ISO8859-15) \
$(KOI8_R_LOCALES:%=%.KOI8-R) \
$(UTF_8_LOCALES:%=%.UTF-8)
LOCDIRS = $(LOCNAMES:%=locale/%)
STAMPFILES = $(LOCDIRS:%=%/stamp)
CATDIRS = \
$(LOCDIRS:%=%/LC_COLLATE) \
$(LOCDIRS:%=%/LC_CTYPE) \
$(LOCDIRS:%=%/LC_MESSAGES) \
$(LOCDIRS:%=%/LC_MONETARY) \
$(LOCDIRS:%=%/LC_NUMERIC) \
$(LOCDIRS:%=%/LC_TIME)
DATA = $(CATDIRS:%=%/LCL_DATA)
DCOLL = LC_COLLATE/LCL_DATA
DCTYPE = LC_CTYPE/LCL_DATA
DMSGS = LC_MESSAGES/LCL_DATA
DMON = LC_MONETARY/LCL_DATA
DNUM = LC_NUMERIC/LCL_DATA
DTIME = LC_TIME/LCL_DATA
ROOTLOCDIRS = $(LOCDIRS:%=$(ROOTLIB)/%)
ROOTCATDIRS = $(CATDIRS:%=$(ROOTLIB)/%)
ROOTDATA = $(DATA:%=$(ROOTLIB)/%)
$(ROOTDATA) := FILEMODE=0444
all: $(PROG) $(DATA)
install: all $(ROOTPROG) $(ROOTDATA)
$(PROG): $(OBJS)
$(LINK.c) $(OBJS) -o $@ $(LDLIBS)
$(POST_PROCESS)
$(OBJS): parser.tab.h
parser.tab.c parser.tab.h: parser.y $(HDRS)
$(YACC) $(YFLAGS) parser.y
lint: $(SRCS)
$(LINT.c) $(CPPFLAGS) $(SRCS)
clean:
$(RM) $(CLEANFILES)
$(RM) $(STAMPFILES)
$(POFILE): $(PIFILES)
$(RM) $@
$(RM) messages.po
$(XGETTEXT) -s $(PIFILES)
$(SED) -e '/domain/d' messages.po > $@
$(RM) $(PIFILES) messages.po
locale $(ROOTLOCDIRS) $(ROOTCATDIRS):
$(INS.dir)
include ../Makefile.targ
locale/%.UTF-8/stamp: data/%.UTF-8.src UTF-8.cm locale $(PROG)
./$(PROG) -U -i $< -f UTF-8.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-1/stamp: data/%.UTF-8.src 8859-1.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-1.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-2/stamp: data/%.UTF-8.src 8859-2.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-2.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-5/stamp: data/%.UTF-8.src 8859-5.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-5.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-7/stamp: data/%.UTF-8.src 8859-7.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-7.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-6/stamp: data/%.UTF-8.src 8859-6.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-6.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-9/stamp: data/%.UTF-8.src 8859-9.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-9.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-11/stamp: data/%.UTF-8.src 8859-11.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-11.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-13/stamp: data/%.UTF-8.src 8859-13.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-13.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-15/stamp: data/%.UTF-8.src 8859-15.cm locale $(PROG)
./$(PROG) -U -i $< -f 8859-15.cm $(@D)
$(TOUCH) $@
locale/%.KOI8-R/stamp: data/%.UTF-8.src KOI8-R.cm locale $(PROG)
./$(PROG) -U -i $< -f KOI8-R.cm $(@D)
$(TOUCH) $@
locale/%/$(DCOLL): locale/%/stamp
locale/%/$(DCTYPE): locale/%/stamp
locale/%/$(DMSGS): locale/%/stamp
locale/%/$(DMON): locale/%/stamp
locale/%/$(DNUM): locale/%/stamp
locale/%/$(DTIME): locale/%/stamp
UTF-8.cm: data/UTF-8.cm
$(LN) -sf data/UTF-8.cm $@
%.cm: data/%.TXT UTF-8.cm
$(RM) $@
$(PERL) data/convert_map.pl $< > $@
$(ROOTDATA): $(ROOTLOCDIRS) $(ROOTCATDIRS) $(DATA)
$(RM) $@
$(CP) $(@:$(ROOTLIB)/%=%) $@
$(CHMOD) 0444 $@