# $NetBSD: Makefile,v 1.18 2003/10/21 10:01:20 lukem Exp $

NOMAN=	# defined

# pull LOCALEDIR and other declarations
.include <bsd.own.mk>

LOCALEDIR?=	/usr/share/locale
LOCALEGRP?=	wheel
LOCALEOWN?=	root
LOCALEMODE?=	${NONBINMODE}
TOOL_MKLOCALE=	../../../usr.bin/mklocale/mklocale

FILESOWN=	${LOCALEOWN}
FILESGRP=	${LOCALEGRP}
FILESMODE=	${LOCALEMODE}

LOCALES += bg_BG.CP1251
 LOCALESRC_bg_BG.CP1251 = bg_BG.CP1251
   ALIASES_bg_BG.CP1251+=

LOCALES += ca_ES.ISO8859-1
 LOCALESRC_ca_ES.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_ca_ES.ISO8859-1+=

LOCALES += ca_ES.ISO8859-15
 LOCALESRC_ca_ES.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_ca_ES.ISO8859-15+=

LOCALES += cs_CZ.ISO8859-2
 LOCALESRC_cs_CZ.ISO8859-2 = en_US.ISO_8859-2
   ALIASES_cs_CZ.ISO8859-2+=

LOCALES += da_DK.ISO8859-1
 LOCALESRC_da_DK.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_da_DK.ISO8859-1+=

LOCALES += da_DK.ISO8859-15
 LOCALESRC_da_DK.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_da_DK.ISO8859-15+=

LOCALES += de_AT.ISO8859-1
 LOCALESRC_de_AT.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_de_AT.ISO8859-1+=

LOCALES += de_AT.ISO8859-15
 LOCALESRC_de_AT.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_de_AT.ISO8859-15+=

LOCALES += de_CH.ISO8859-1
 LOCALESRC_de_CH.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_de_CH.ISO8859-1+=

LOCALES += de_CH.ISO8859-15
 LOCALESRC_de_CH.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_de_CH.ISO8859-15+=

LOCALES += de_DE.ISO8859-1
 LOCALESRC_de_DE.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_de_DE.ISO8859-1+=

LOCALES += de_DE.ISO8859-15
 LOCALESRC_de_DE.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_de_DE.ISO8859-15+=

LOCALES += el_GR.ISO8859-7
 LOCALESRC_el_GR.ISO8859-7 = el_GR.ISO8859-7
   ALIASES_el_GR.ISO8859-7+=

LOCALES += en_AU.ISO8859-1
 LOCALESRC_en_AU.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_en_AU.ISO8859-1+=

LOCALES += en_AU.ISO8859-15
 LOCALESRC_en_AU.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_en_AU.ISO8859-15+=

LOCALES += en_CA.ISO8859-1
 LOCALESRC_en_CA.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_en_CA.ISO8859-1+=

LOCALES += en_CA.ISO8859-15
 LOCALESRC_en_CA.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_en_CA.ISO8859-15+=

LOCALES += en_GB.ISO8859-1
 LOCALESRC_en_GB.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_en_GB.ISO8859-1+=

LOCALES += en_GB.ISO8859-15
 LOCALESRC_en_GB.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_en_GB.ISO8859-15+=

LOCALES += en_US.ISO8859-1
 LOCALESRC_en_US.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_en_US.ISO8859-1+=

LOCALES += en_US.ISO8859-15
 LOCALESRC_en_US.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_en_US.ISO8859-15+=

LOCALES += en_US.UTF-8
 LOCALESRC_en_US.UTF-8 = en_US.UTF-8
   ALIASES_en_US.UTF-8+=

LOCALES += es_ES.ISO8859-1
 LOCALESRC_es_ES.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_es_ES.ISO8859-1+=

LOCALES += es_ES.ISO8859-15
 LOCALESRC_es_ES.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_es_ES.ISO8859-15+=

LOCALES += fi_FI.ISO8859-1
 LOCALESRC_fi_FI.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_fi_FI.ISO8859-1+=

LOCALES += fi_FI.ISO8859-15
 LOCALESRC_fi_FI.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_fi_FI.ISO8859-15+=

LOCALES += fr_BE.ISO8859-1
 LOCALESRC_fr_BE.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_fr_BE.ISO8859-1+=

LOCALES += fr_BE.ISO8859-15
 LOCALESRC_fr_BE.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_fr_BE.ISO8859-15+=

LOCALES += fr_CA.ISO8859-1
 LOCALESRC_fr_CA.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_fr_CA.ISO8859-1+=

LOCALES += fr_CA.ISO8859-15
 LOCALESRC_fr_CA.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_fr_CA.ISO8859-15+=

LOCALES += fr_CH.ISO8859-1
 LOCALESRC_fr_CH.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_fr_CH.ISO8859-1+=

LOCALES += fr_CH.ISO8859-15
 LOCALESRC_fr_CH.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_fr_CH.ISO8859-15+=

LOCALES += fr_FR.ISO8859-1
 LOCALESRC_fr_FR.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_fr_FR.ISO8859-1+=

LOCALES += fr_FR.ISO8859-15
 LOCALESRC_fr_FR.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_fr_FR.ISO8859-15+=

LOCALES += hr_HR.ISO8859-2
 LOCALESRC_hr_HR.ISO8859-2 = en_US.ISO_8859-2
   ALIASES_hr_HR.ISO8859-2+=

LOCALES += hu_HU.ISO8859-2
 LOCALESRC_hu_HU.ISO8859-2 = en_US.ISO_8859-2
   ALIASES_hu_HU.ISO8859-2+=

LOCALES += hy_AM.ARMSCII-8
 LOCALESRC_hy_AM.ARMSCII-8 = hy_AM.ARMSCII-8
   ALIASES_hy_AM.ARMSCII-8+=

LOCALES += is_IS.ISO8859-1
 LOCALESRC_is_IS.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_is_IS.ISO8859-1+=

LOCALES += is_IS.ISO8859-15
 LOCALESRC_is_IS.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_is_IS.ISO8859-15+=

LOCALES += it_CH.ISO8859-1
 LOCALESRC_it_CH.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_it_CH.ISO8859-1+=

LOCALES += it_CH.ISO8859-15
 LOCALESRC_it_CH.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_it_CH.ISO8859-15+=

LOCALES += it_IT.ISO8859-1
 LOCALESRC_it_IT.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_it_IT.ISO8859-1+=

LOCALES += it_IT.ISO8859-15
 LOCALESRC_it_IT.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_it_IT.ISO8859-15+=

LOCALES += ja_JP.ct
 LOCALESRC_ja_JP.ct = ja_JP.CTEXT
   ALIASES_ja_JP.ct+=

LOCALES += ja_JP.eucJP
 LOCALESRC_ja_JP.eucJP = ja_JP.eucJP
   ALIASES_ja_JP.eucJP+=

LOCALES += ja_JP.ISO2022-JP
 LOCALESRC_ja_JP.ISO2022-JP = ja_JP.ISO-2022-JP
   ALIASES_ja_JP.ISO2022-JP+=

LOCALES += ja_JP.ISO2022-JP2
 LOCALESRC_ja_JP.ISO2022-JP2 = ja_JP.ISO-2022-JP-2
   ALIASES_ja_JP.ISO2022-JP2+=

LOCALES += ja_JP.SJIS
 LOCALESRC_ja_JP.SJIS = ja_JP.SJIS
   ALIASES_ja_JP.SJIS+=

LOCALES += ko_KR.eucKR
 LOCALESRC_ko_KR.eucKR = ko_KR.eucKR
   ALIASES_ko_KR.eucKR+=

LOCALES += ko_KR.UTF-8
 LOCALESRC_ko_KR.UTF-8 = en_US.UTF-8
   ALIASES_ko_KR.UTF-8+=

LOCALES += lt_LT.ISO8859-4
 LOCALESRC_lt_LT.ISO8859-4 = en_US.ISO_8859-4
   ALIASES_lt_LT.ISO8859-4+=

LOCALES += lt_LT.ISO8859-13
 LOCALESRC_lt_LT.ISO8859-13 = lt_LT.ISO8859-13
   ALIASES_lt_LT.ISO8859-13+=

LOCALES += nl_BE.ISO8859-1
 LOCALESRC_nl_BE.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_nl_BE.ISO8859-1+=

LOCALES += nl_BE.ISO8859-15
 LOCALESRC_nl_BE.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_nl_BE.ISO8859-15+=

LOCALES += nl_NL.ISO8859-1
 LOCALESRC_nl_NL.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_nl_NL.ISO8859-1+=

LOCALES += nl_NL.ISO8859-15
 LOCALESRC_nl_NL.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_nl_NL.ISO8859-15+=

LOCALES += no_NO.ISO8859-1
 LOCALESRC_no_NO.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_no_NO.ISO8859-1+=

LOCALES += no_NO.ISO8859-15
 LOCALESRC_no_NO.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_no_NO.ISO8859-15+=

LOCALES += pl_PL.ISO8859-2
 LOCALESRC_pl_PL.ISO8859-2 = en_US.ISO_8859-2
   ALIASES_pl_PL.ISO8859-2+=

LOCALES += pt_PT.ISO8859-1
 LOCALESRC_pt_PT.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_pt_PT.ISO8859-1+=

LOCALES += pt_PT.ISO8859-15
 LOCALESRC_pt_PT.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_pt_PT.ISO8859-15+=

LOCALES += ru_RU.CP866
 LOCALESRC_ru_RU.CP866 = ru_RU.CP866
   ALIASES_ru_RU.CP866+=

LOCALES += ru_RU.KOI8-R
 LOCALESRC_ru_RU.KOI8-R = ru_RU.KOI8-R
   ALIASES_ru_RU.KOI8-R+=

LOCALES += ru_RU.ISO8859-5
 LOCALESRC_ru_RU.ISO8859-5 = ru_RU.ISO_8859-5
   ALIASES_ru_RU.ISO8859-5+=

LOCALES += sk_SK.ISO8859-2
 LOCALESRC_sk_SK.ISO8859-2 = en_US.ISO_8859-2
   ALIASES_sk_SK.ISO8859-2+=

LOCALES += sl_SI.ISO8859-2
 LOCALESRC_sl_SI.ISO8859-2 = en_US.ISO_8859-2
   ALIASES_sl_SI.ISO8859-2+=

LOCALES += sv_SE.ISO8859-1
 LOCALESRC_sv_SE.ISO8859-1 = en_US.ISO_8859-1
   ALIASES_sv_SE.ISO8859-1+=

LOCALES += sv_SE.ISO8859-15
 LOCALESRC_sv_SE.ISO8859-15 = en_US.DIS_8859-15
   ALIASES_sv_SE.ISO8859-15+=

LOCALES += uk_UA.KOI8-U
 LOCALESRC_uk_UA.KOI8-U = uk_UA.KOI8-U
   ALIASES_uk_UA.KOI8-U+=

LOCALES += zh_CN.eucCN
 LOCALESRC_zh_CN.eucCN = zh_CN.eucCN
   ALIASES_zh_CN.eucCN+=

LOCALES += zh_CN.GB18030
 LOCALESRC_zh_CN.GB18030 = zh_CN.GB18030
   ALIASES_zh_CN.GB18030+=

LOCALES += zh_TW.Big5
 LOCALESRC_zh_TW.Big5 = zh_TW.BIG5
   ALIASES_zh_TW.Big5+= zh_TW.BIG5

# XXX: EUC-TW is not EUC!
LOCALES += zh_TW.eucTW
 LOCALESRC_zh_TW.eucTW = zh_TW.eucTW
   ALIASES_zh_TW.eucTW+=

all: ${LOCALES:S/$/.out/g}
realall: ${LOCALES:S/$/.out/g}

.for locale in ${LOCALES}
LOCALESRCS+=	${LOCALESRC_${locale}}
.endfor
CLEANFILES+=	${LOCALES:S/$/.out/g}

# TODO: more use of symlinks?
FILES=	${LOCALES:S/$/.out/g}
.for locale in ${LOCALES}
FILESDIR_${locale}.out=	${LOCALEDIR}/${locale}
FILESNAME_${locale}.out=	LC_CTYPE
.for alias in ${ALIASES_${locale}}
SYMLINKS+=	${LOCALEDIR}/${locale}/LC_CTYPE ${LOCALEDIR}/${alias}/LC_CTYPE
.endfor
.endfor

# dependencies
.for locale in ${LOCALES}
${locale}.out: ${LOCALESRC_${locale}}.src \
		../../../lib/libc/locale/runetable.c
	${_MKTARGET_CREATE}
	${CPP} -I${.CURDIR} < ${.CURDIR}/${LOCALESRC_${locale}}.src | \
	    sed -e '/^#/d' | ${TOOL_MKLOCALE} -o ${.TARGET}
.endfor

#.SUFFIXES: .src .out
#.src.out:
#	${_MKTARGET_CREATE}
#	${CPP} -I${.CURDIR} < ${.IMPSRC} | sed -e '/^#/d' | \
#            ${TOOL_MKLOCALE} -o ${.TARGET}

# does not work
#depend:
#	${MKDEP} -a ${MKDEPFLAGS} \
#	    ${CPPFLAGS:M-[ID]*} ${CPPFLAGS} \
#	    ${LOCALESRCS:S/$/.src/g:S/^/${.CURDIR}\//g}

afterinstall:
	if [ ! -e ${LOCALEDIR} ] ; then \
		mkdir ${LOCALEDIR}; \
	fi
.for locale in ${LOCALES}
	if [ ! -e ${LOCALEDIR}/${locale} ] ; then \
		mkdir ${LOCALEDIR}/${locale}; \
	fi
	${INSTALL} ${COPY} -m 644 -o ${FILESOWN} -g ${FILESGRP} \
		${locale}.out ${LOCALEDIR}/${locale}/LC_CTYPE
.for alias in ${ALIASES_${locale}}
	if [ ! -e ${LOCALEDIR}/${alias} ] ; then \
		ln -s ${locale} ${LOCALEDIR}/${alias}; \
	fi
.endfor
.endfor

.include <bsd.prog.mk>
