Makefile revision b599bd937c305a895426e8c412ca920ce7824850
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# This file and its contents are supplied under the terms of the
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# Common Development and Distribution License ("CDDL"), version 1.0.
5aec55eb0591d2fcdd38d7dd5408a6ff3456e596Garrett D'Amore# You may only use this file in accordance with the terms of version
5aec55eb0591d2fcdd38d7dd5408a6ff3456e596Garrett D'Amore# 1.0 of the CDDL.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# A full copy of the text of the CDDL should have accompanied this
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# source. A copy of the CDDL is also available via the Internet at
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# http://www.illumos.org/license/CDDL.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
44fd9652de83a26569886c219d6b32e9106a9a5bGarrett D'Amore# Copyright 2011 Nexenta Systems, Inc. All rights reserved.
8f4fd63858783a7a2af99f73bab41683900386abAndrzej Szeszo# Copyright 2011 EveryCity Ltd. All rights reserved.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# Copyright 2013 DEY Storage Systems, Inc.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# Copyright 2015 Joyent, Inc.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmorePROG=localedef
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreNDIR=native
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreNPROG=$(NDIR)/localedef
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amoreinclude ../Makefile.cmd
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreOBJS = charmap.o collate.o ctype.o messages.o monetary.o numeric.o time.o \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore scanner.o localedef.o wide.o parser.tab.o
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreNOBJS = $(OBJS:%.o=native/%.o)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreHDRS = localedef.h
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreSRCS = $(OBJS:%.o=%.c)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri PankovCPPFLAGS += -I $(SRC)/lib/libc/port/locale
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreNATIVE_CPPFLAGS += -I $(SRC)/lib/libc/port/locale
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreCERRWARN += -_gcc=-Wno-char-subscripts
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreCERRWARN += -_gcc=-Wno-uninitialized
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreCERRWARN += -_gcc=-Wno-unused-label
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreLDLIBS += -lgen
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreLDLIBS += -lavl
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreNATIVELDLIBS += -lgen
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# Unfortunately, we have a chicken and an egg problem. libavl is becoming
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# public, which means that all of its symbols are in a version that the build
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# machine doesn't have and traditionally there has been no libavl compilation
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# symlink. Therefore, because we know that we only support building on illumos,
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# we regrettably have to link explicitly against the full library path. Sorry.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreNATIVELDLIBS += /usr/lib/libavl.so.1
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreYFLAGS = -d -b parser
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreCLEANFILES = $(NOBJS) $(OBJS) parser.tab.c parser.tab.h
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreCLEANFILES += \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore UTF-8.cm UTF-8.ct \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore 8859-1.cm 8859-2.cm 8859-3.cm 8859-4.cm \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore 8859-5.cm 8859-5.cm 8859-6.cm 8859-7.cm \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore 8859-8.cm 8859-9.cm 8859-9.cm 8859-10.cm \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore 8859-11.cm 8859-13.cm 8859-14.cm 8859-15.cm \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore 8859-16.cm \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore KOI8-R.cm
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreCLOBBERFILES = $(PROG) $(NPROG) $(POFILE) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore GB18030.cm UTF-8.cm
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmorePIFILES = $(OBJS:%.o=%.i)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmorePOFILE = localedef_cmd.po
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_1_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore da_DK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore de_CH de_DE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore en_AU en_CA en_GB en_NZ en_US \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore es_AR es_BO es_CL es_CO es_EC es_ES es_GT es_MX es_NI es_PA \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore es_PE es_SV es_UY es_VE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore fr_CA fr_CH fr_FR \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore is_IS \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore it_CH it_IT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sv_SE
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_2_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore cs_CZ \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore hr_HR \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore hu_HU \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore pl_PL \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sq_AL
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_5_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore bg_BG \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore mk_MK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ru_RU
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_6_LOCALES =
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_7_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore el_GR
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_9_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore tr_TR
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_11_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore th_TH
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_13_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore lt_LT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore lv_LV
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreISO8859_15_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ca_ES \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore da_DK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore de_AT de_DE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore en_GB en_IE en_US \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore es_ES \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore fi_FI \
8f4fd63858783a7a2af99f73bab41683900386abAndrzej Szeszo fr_BE fr_FR \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore it_IT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore nl_BE nl_NL \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore pt_PT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sv_FI sv_SE
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreKOI8_R_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ru_RU
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreGB18030_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore zh_CN
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# All new locales should be in UTF-8 form.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreUTF_8_LOCALES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore af_ZA \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ar_AE ar_BH ar_DZ ar_EG ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ar_OM ar_QA ar_SA ar_TN ar_YE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore as_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore az_AZ \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore be_BY \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore bg_BG \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore bn_BD bn_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore bo_CN bo_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore bs_BA \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ca_ES \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore cs_CZ \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore da_DK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore de_AT de_BE de_CH de_DE de_LI de_LU \
9aa4b6ecb617dea106cf96cd51dc2b9bf7f28c8bShampavman el_CY el_GR \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore en_AU en_BW en_BZ en_CA en_GB en_HK en_IE en_IN en_JM en_MH \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore en_MT en_NA en_NZ en_PH en_PK en_SG en_TT en_US en_ZA en_ZW \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_GQ es_GT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore es_VE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore et_EE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore fi_FI \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore fil_PH \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore fr_BE fr_CA fr_CF fr_CH fr_FR fr_GN fr_LU fr_MC fr_MG fr_ML \
5b72c2c78cdaab2439f613a7a9df81548c42c2ceShampavman fr_NE fr_SN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ga_IE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore gu_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore he_IL \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore hi_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore hr_HR \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore hu_HU \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore hy_AM \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore id_ID \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ii_CN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore is_IS \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore it_CH it_IT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ja_JP \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ka_GE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore kk_KZ \
8f4fd63858783a7a2af99f73bab41683900386abAndrzej Szeszo km_KH \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore kn_IN \
44fd9652de83a26569886c219d6b32e9106a9a5bGarrett D'Amore ko_KR \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore kok_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore lt_LT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore lv_LV \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore mk_MK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ml_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore mn_CN mn_MN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore mr_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ms_MY \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore mt_MT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ne_IN ne_NP \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore nl_BE nl_NL \
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov nb_NO \
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov nn_NO \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore or_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore pa_IN pa_PK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore pl_PL \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore pt_BR pt_GW pt_MZ pt_PT \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ro_MD ro_RO \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ru_MD ru_RU ru_UA \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sa_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore si_LK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sk_SK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sl_SI \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sq_AL \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sr_BA sr_ME sr_RS \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore sv_FI sv_SE \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ta_IN ta_LK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore te_IN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore th_TH \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore tr_TR \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore uk_UA \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ug_CN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore ur_IN ur_PK \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore vi_VN \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore zh_CN zh_HK zh_MO zh_SG zh_TW \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore zz_AA
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreUTF8SRCS = $(UTF_8_LOCALES:%=data/%.UTF-8.src)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreLOCNAMES = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_1_LOCALES:%=%.ISO8859-1) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_2_LOCALES:%=%.ISO8859-2) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_5_LOCALES:%=%.ISO8859-5) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_6_LOCALES:%=%.ISO8859-6) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_7_LOCALES:%=%.ISO8859-7) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_9_LOCALES:%=%.ISO8859-9) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_11_LOCALES:%=%.ISO8859-11) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_13_LOCALES:%=%.ISO8859-13) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(ISO8859_15_LOCALES:%=%.ISO8859-15) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(KOI8_R_LOCALES:%=%.KOI8-R) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(GB18030_LOCALES:%=%.GB18030) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(UTF_8_LOCALES:%=%.UTF-8)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreLOCDIRS = $(LOCNAMES:%=locale/%)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreSTAMPFILES = $(LOCDIRS:%=%/stamp)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreCATDIRS = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LOCDIRS:%=%/LC_COLLATE) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LOCDIRS:%=%/LC_CTYPE) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LOCDIRS:%=%/LC_MESSAGES) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LOCDIRS:%=%/LC_MONETARY) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LOCDIRS:%=%/LC_NUMERIC) \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LOCDIRS:%=%/LC_TIME)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreDATA = $(CATDIRS:%=%/LCL_DATA)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreDCOLL = LC_COLLATE/LCL_DATA
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreDCTYPE = LC_CTYPE/LCL_DATA
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreDMSGS = LC_MESSAGES/LCL_DATA
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreDMON = LC_MONETARY/LCL_DATA
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreDNUM = LC_NUMERIC/LCL_DATA
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreDTIME = LC_TIME/LCL_DATA
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreROOTLOCDIRS = $(LOCDIRS:%=$(ROOTLIB)/%)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreROOTCATDIRS = $(CATDIRS:%=$(ROOTLIB)/%)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreROOTDATA = $(DATA:%=$(ROOTLIB)/%)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# This is a list of locales that happen to have translations for them
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore# present in the gate.
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore#
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreTRANSDIR = translations
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreTRANSLOCS = \
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore zz_AA.UTF-8
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri PankovTRANSMOS = $(TRANSLOCS:%=$(TRANSDIR)/%.mo)
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri PankovOSTMOFILE = LC_MESSAGES/SUNW_OST_OSLIB.mo
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri PankovPRIVTRANSLOCS = \
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov zz_AA.UTF-8
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmorePRIVFILE = LC_MESSAGES/priv_names
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreROOTTRANSLATIONS = $(TRANSLOCS:%=$(ROOTLIB)/locale/%/$(OSTMOFILE))
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'AmoreROOTPRIVTRANS = $(PRIVTRANSLOCS:%=$(ROOTLIB)/locale/%/$(PRIVFILE))
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore$(ROOTDATA) := FILEMODE=0444
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amoreall: $(PROG) $(DATA)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amoretranslate: $(ROOTTRANSLATIONS) $(ROOTPRIVTRANS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amoreinstall: all $(ROOTPROG) $(ROOTDATA) $(ROOTTRANSLATIONS) $(ROOTPRIVTRANS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore$(NDIR):
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore mkdir $@
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore$(NDIR)/%.o: %.c
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(NATIVECC) $(NATIVE_CFLAGS) $(NATIVE_CPPFLAGS) -o $@ -c $<
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(POST_PROCESS_O)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore$(NPROG): $(NDIR) .WAIT $(NOBJS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LINK.c) $(NOBJS) -o $@ $(NATIVELDLIBS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(POST_PROCESS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore$(PROG): $(OBJS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(POST_PROCESS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore$(OBJS) $(NOBJS): parser.tab.h
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amoreparser.tab.c parser.tab.h: parser.y $(HDRS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(YACC) $(YFLAGS) parser.y
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amorelint: $(SRCS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(LINT.c) $(CPPFLAGS) $(SRCS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amoreclean:
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(RM) $(CLEANFILES)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(RM) $(STAMPFILES)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amoreclobber: clean
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov $(RM) $(CLOBBERFILES)
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov $(RM) -r $(LOCDIRS)
017c01f878134ff71877f2c67cca171a4ad2cd93Yuri Pankov $(RM) -r $(NDIR)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(RM) $(TRANSMOS)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore$(POFILE): $(PIFILES)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(RM) $@
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(RM) messages.po
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(XGETTEXT) -s $(PIFILES)
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(SED) -e '/domain/d' messages.po > $@
6b5e5868e7ebf1aff3a5abd7d0c4ef0e5fbf3648Garrett D'Amore $(RM) $(PIFILES) messages.po
locale $(ROOTLOCDIRS) $(ROOTCATDIRS):
$(INS.dir)
$(ROOTBIN)/%: $(ROOTBIN) %
$(INS.file)
# Strip LC_CTYPE contents for UTF-8 locales and replace them
# with UTF-8.ct we compiled
locale/%.UTF-8/stamp: data/%.UTF-8.src UTF-8.cm \
UTF-8.ct locale $(NPROG)
$(SED) '/^LC_CTYPE/,/^END LC_CTYPE/d;$$r UTF-8.ct' $< | \
./$(NPROG) -U -w data/widths.txt -f UTF-8.cm $(@D)
$(TOUCH) $@
# Convert EURO_SIGN to CURRENCY_SIGN for the ISO8859-1 locales
locale/%.ISO8859-1/stamp: data/%.UTF-8.src 8859-1.cm locale $(NPROG)
sed 's/EURO_SIGN/CURRENCY_SIGN/' $< > $<.tmp
./$(NPROG) -U -w data/widths.txt -i $<.tmp -f 8859-1.cm $(@D)
rm -f $<.tmp
$(TOUCH) $@
locale/%.ISO8859-2/stamp: data/%.UTF-8.src 8859-2.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-2.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-5/stamp: data/%.UTF-8.src 8859-5.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-5.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-7/stamp: data/%.UTF-8.src 8859-7.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-7.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-6/stamp: data/%.UTF-8.src 8859-6.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-6.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-9/stamp: data/%.UTF-8.src 8859-9.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-9.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-11/stamp: data/%.UTF-8.src 8859-11.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-11.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-13/stamp: data/%.UTF-8.src 8859-13.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-13.cm $(@D)
$(TOUCH) $@
locale/%.ISO8859-15/stamp: data/%.UTF-8.src 8859-15.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f 8859-15.cm $(@D)
$(TOUCH) $@
locale/%.KOI8-R/stamp: data/%.UTF-8.src KOI8-R.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f KOI8-R.cm $(@D)
$(TOUCH) $@
locale/%.GB18030/stamp: data/%.UTF-8.src GB18030.cm locale $(NPROG)
./$(NPROG) -U -w data/widths.txt -i $< -f GB18030.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 $@
UTF-8.ct: $(UTF8SRCS)
$(SH) data/ctype.sh $(UTF8SRCS) > $@
GB18030.cm: data/GB18030.cm
$(LN) -sf data/GB18030.cm $@
%.cm: data/%.TXT UTF-8.cm
$(RM) $@
$(PERL) data/convert_map.pl $< > $@
$(ROOTDATA): $(ROOTLOCDIRS) $(ROOTCATDIRS) $(DATA)
$(RM) $@
$(CP) $(@:$(ROOTLIB)/%=%) $@
$(CHMOD) 0444 $@
%.mo: %.po
$(MSGFMT) -o $@ $<
$(ROOTLIB)/locale/%/$(OSTMOFILE): $(TRANSDIR)/%.mo
$(INS.rename)
$(CHMOD) 0444 $@
$(ROOTLIB)/locale/%/$(PRIVFILE): $(TRANSDIR)/%.priv
$(INS.rename)
$(CHMOD) 0444 $@