3 # This include file <bsd.nls.mk> handles building and installing Native
4 # Language Support (NLS) catalogs
8 # GENCAT A program for converting .msg files into compiled NLS
11 # NLS Source or intermediate .msg files. [set in Makefile]
13 # NLSDIR Base path for National Language Support files
14 # installation. [${SHAREDIR}/nls]
16 # NLSGRP National Language Support files group. [${SHAREGRP}]
18 # NLSMODE National Language Support files mode. [${NOBINMODE}]
20 # NLSOWN National Language Support files owner. [${SHAREOWN}]
22 # NO_NLS Do not make or install NLS files. [not set]
24 .if !target(__<bsd.init.mk>__)
25 .error bsd.nls.mk cannot be included directly.
33 ${GENCAT} ${.TARGET} ${.IMPSRC}
35 .if defined(NLS) && !empty(NLS) && !defined(NO_NLS)
38 # .msg file pre-build rules
40 NLSSRCDIR?= ${.CURDIR}
42 .if defined(NLSSRCFILES)
43 NLSSRCFILES_${file}?= ${NLSSRCFILES}
45 .if defined(NLSSRCFILES_${file})
46 NLSSRCDIR_${file}?= ${NLSSRCDIR}
47 ${file}.msg: ${NLSSRCFILES_${file}:S/^/${NLSSRCDIR_${file}}\//}
49 cat ${.ALLSRC} > ${.TARGET}
50 CLEANFILES+= ${file}.msg
55 # .cat file build rules
61 NLSDIR?= ${SHAREDIR}/nls
67 NLSNAME_${file:T}= ${file:T:R}/${NLSNAME}.cat
68 .if defined(NLSLINKS_${file:R}) && !empty(NLSLINKS_${file:R})
71 .for dst in ${NLSLINKS_${file:R}}
72 SYMLINKS+= ../${file:R}/${NLSNAME}.cat ${NLSDIR}/${dst}/${NLSNAME}.cat
76 .endif # defined(NLS) && !empty(NLS) && !defined(NO_NLS)