1# $NetBSD: bsd.files.mk,v 1.19 2002/04/24 08:18:52 lukem Exp $ 2 3.if !target(__fileinstall) 4##### Basic targets 5.PHONY: filesinstall 6realinstall: filesinstall 7 8##### Default values 9FILESDIR?= ${BINDIR} 10FILESOWN?= ${BINOWN} 11FILESGRP?= ${BINGRP} 12FILESMODE?= ${NONBINMODE} 13 14##### Install rules 15filesinstall:: # ensure existence 16 17__fileinstall: .USE 18 ${INSTALL_FILE} \ 19 -o ${FILESOWN_${.ALLSRC:T}:U${FILESOWN}} \ 20 -g ${FILESGRP_${.ALLSRC:T}:U${FILESGRP}} \ 21 -m ${FILESMODE_${.ALLSRC:T}:U${FILESMODE}} \ 22 ${.ALLSRC} ${.TARGET} 23 24.endif # !target(__fileinstall) 25 26.for F in ${FILES:O:u} 27_FDIR:= ${FILESDIR_${F}:U${FILESDIR}} # dir override 28_FNAME:= ${FILESNAME_${F}:U${FILESNAME:U${F:T}}} # name override 29_F:= ${DESTDIR}${_FDIR}/${_FNAME} # installed path 30 31.if !defined(UPDATE) 32${_F}! ${F} __fileinstall # install rule 33.if !defined(BUILD) && !make(all) && !make(${F}) 34${_F}! .MADE # no build at install 35.endif 36.else 37${_F}: ${F} __fileinstall # install rule 38.if !defined(BUILD) && !make(all) && !make(${F}) 39${_F}: .MADE # no build at install 40.endif 41.endif 42 43filesinstall:: ${_F} 44.PRECIOUS: ${_F} # keep if install fails 45.endfor 46 47.undef _FDIR 48.undef _FNAME 49.undef _F 50