bsd.nls.mk revision 1.43 1 # $NetBSD: bsd.nls.mk,v 1.43 2003/10/19 03:00:55 lukem Exp $
2
3 .include <bsd.init.mk>
4
5 ##### Basic targets
6 .PHONY: cleannls nlsinstall
7 cleandir: cleannls
8 realinstall: nlsinstall
9
10 ##### Default values
11 NLSNAME?= ${PROG:Ulib${LIB}}
12
13 NLS?=
14
15 ##### Build rules
16 .if ${MKNLS} != "no"
17
18 NLSALL= ${NLS:.msg=.cat}
19
20 realall: ${NLSALL}
21 .NOPATH: ${NLSALL}
22
23 .SUFFIXES: .cat .msg
24
25 .msg.cat:
26 @rm -f ${.TARGET}
27 ${_MKMSGCREATE}
28 ${_MKCMD}\
29 ${TOOL_GENCAT} ${.TARGET} ${.IMPSRC}
30
31 .endif # ${MKNLS} != "no"
32
33 ##### Install rules
34 nlsinstall:: # ensure existence
35 .if ${MKNLS} != "no"
36
37 __nlsinstall: .USE
38 ${_MKMSGINSTALL}
39 ${_MKCMD}\
40 ${INSTALL_FILE} -o ${NLSOWN} -g ${NLSGRP} -m ${NLSMODE} \
41 ${SYSPKGTAG} ${.ALLSRC} ${.TARGET}
42
43 .for F in ${NLSALL:O:u}
44 _F:= ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat # installed path
45
46 .if ${MKUPDATE} == "no"
47 ${_F}! ${F} __nlsinstall # install rule
48 .if !defined(BUILD) && !make(all) && !make(${F})
49 ${_F}! .MADE # no build at install
50 .endif
51 .else
52 ${_F}: ${F} __nlsinstall # install rule
53 .if !defined(BUILD) && !make(all) && !make(${F})
54 ${_F}: .MADE # no build at install
55 .endif
56 .endif
57
58 nlsinstall:: ${_F}
59 .PRECIOUS: ${_F} # keep if install fails
60 .endfor
61
62 .undef _F
63 .endif # ${MKNLS} != "no"
64
65 ##### Clean rules
66 cleannls:
67 .if ${MKNLS} != "no" && !empty(NLS)
68 ${_MKCMD}\
69 rm -f ${NLSALL}
70 .endif
71
72 ##### Pull in related .mk logic
73 .include <bsd.obj.mk>
74 .include <bsd.sys.mk>
75