]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/mk/bsd.nls.mk
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / share / mk / bsd.nls.mk
1 # $FreeBSD$
2 #
3 # This include file <bsd.nls.mk> handles building and installing Native
4 # Language Support (NLS) catalogs
5 #
6 # +++ variables +++
7 #
8 # GENCAT        A program for converting .msg files into compiled NLS
9 #               .cat files. [gencat]
10 #
11 # NLS           Source or intermediate .msg files. [set in Makefile]
12 #
13 # NLSDIR        Base path for National Language Support files
14 #               installation. [${SHAREDIR}/nls]
15 #
16 # NLSGRP        National Language Support files group. [${SHAREGRP}]
17 #
18 # NLSMODE       National Language Support files mode. [${NOBINMODE}]
19 #
20 # NLSOWN        National Language Support files owner. [${SHAREOWN}]
21
22 .if !target(__<bsd.init.mk>__)
23 .error bsd.nls.mk cannot be included directly.
24 .endif
25
26 GENCAT?=        gencat
27
28 .SUFFIXES: .cat .msg
29
30 .msg.cat:
31         ${GENCAT} ${.TARGET} ${.IMPSRC}
32
33 .if defined(NLS) && !empty(NLS) && ${MK_NLS} != "no"
34
35 #
36 # .msg file pre-build rules
37 #
38 NLSSRCDIR?=     ${.CURDIR}
39 .for file in ${NLS}
40 .if defined(NLSSRCFILES)
41 NLSSRCFILES_${file}?= ${NLSSRCFILES}
42 .endif
43 .if defined(NLSSRCFILES_${file})
44 NLSSRCDIR_${file}?= ${NLSSRCDIR}
45 ${file}.msg: ${NLSSRCFILES_${file}:S/^/${NLSSRCDIR_${file}}\//}
46         @rm -f ${.TARGET}
47         cat ${.ALLSRC} > ${.TARGET}
48 CLEANFILES+= ${file}.msg
49 .endif
50 .endfor
51
52 #
53 # .cat file build rules
54 #
55 NLS:=           ${NLS:=.cat}
56 CLEANFILES+=    ${NLS}
57 FILESGROUPS?=   FILES
58 FILESGROUPS+=   NLS
59 NLSDIR?=        ${SHAREDIR}/nls
60
61 #
62 # installation rules
63 #
64 .for file in ${NLS}
65 NLSNAME_${file:T}= ${file:T:R}/${NLSNAME}.cat
66 .if defined(NLSLINKS_${file:R}) && !empty(NLSLINKS_${file:R})
67 NLSLINKS+=      ${file:R}
68 .endif
69 .for dst in ${NLSLINKS_${file:R}}
70 SYMLINKS+=      ../${file:R}/${NLSNAME}.cat ${NLSDIR}/${dst}/${NLSNAME}.cat
71 .endfor
72 .endfor
73
74 .endif # defined(NLS) && !empty(NLS) && ${MK_NLS} != "no"