Home | History | Annotate | Line # | Download | only in mk
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