bsd.nls.mk revision 1.32 1 # $NetBSD: bsd.nls.mk,v 1.32 2001/11/02 18:10:00 tv 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 GENCAT?= gencat
12 NLSNAME?= ${PROG:Ulib${LIB}}
13
14 NLS?=
15
16 ##### Build rules
17 .if ${MKNLS} != "no"
18
19 NLSALL= ${NLS:.msg=.cat}
20
21 realall: ${NLSALL}
22 .NOPATH: ${NLSALL}
23
24 .SUFFIXES: .cat .msg
25
26 .msg.cat:
27 @rm -f ${.TARGET}
28 ${GENCAT} ${.TARGET} ${.IMPSRC}
29
30 .endif # ${MKNLS} != "no"
31
32 ##### Install rules
33 nlsinstall:: # ensure existence
34 .if ${MKNLS} != "no"
35
36 nlsinstall:: ${DESTDIR}${NLSDIR}
37 .PRECIOUS: ${DESTDIR}${NLSDIR}
38 .PHONY: ${DESTDIR}${NLSDIR}
39
40 ${DESTDIR}${NLSDIR}:
41 @if [ ! -d ${.TARGET} ] || [ -h ${.TARGET} ] ; then \
42 echo creating ${.TARGET}; \
43 /bin/rm -rf ${.TARGET}; \
44 ${INSTALL_DIR} -o ${NLSOWN} -g ${NLSGRP} -m 755 ${.TARGET}; \
45 fi
46
47 __nlsinstall: .USE
48 ${INSTALL_DIR} -o ${NLSOWN} -g ${NLSGRP} ${.TARGET:H}
49 ${INSTALL_FILE} -o ${NLSOWN} -g ${NLSGRP} -m ${NLSMODE} \
50 ${.ALLSRC} ${.TARGET}
51
52 .for F in ${NLSALL:O:u}
53 _F:= ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat # installed path
54
55 ${_F}: ${F} __nlsinstall # install rule
56 nlsinstall:: ${_F}
57 .PRECIOUS: ${_F} # keep if install fails
58 .PHONY: ${UPDATE:U${_F}} # noclobber install
59 .if !defined(BUILD) && !make(all) && !make(${F})
60 ${_F}: .MADE # no build at install
61 .endif
62 .endfor
63
64 .undef _F
65 .endif # ${MKNLS} != "no"
66
67 ##### Clean rules
68 cleannls:
69 .if !empty(NLS)
70 rm -f ${NLSALL}
71 .endif
72