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