1e1091647SArun Thomas# $NetBSD: bsd.inc.mk,v 1.32 2006/03/16 18:43:34 jwise Exp $ 2e1091647SArun Thomas 3e1091647SArun Thomas.include <bsd.init.mk> 4e1091647SArun Thomas 5e1091647SArun Thomas##### Basic targets 6e1091647SArun Thomasincludes: ${INCS} incinstall inclinkinstall 7e1091647SArun Thomas 8e1091647SArun Thomas##### Default values 9e1091647SArun ThomasINCSYMLINKS?= 10e1091647SArun Thomas 11e1091647SArun Thomas##### Install rules 12e1091647SArun Thomasincinstall:: # ensure existence 13e1091647SArun Thomas.PHONY: incinstall 14e1091647SArun Thomas 15e1091647SArun Thomas# -c is forced on here, in order to preserve modtimes for "make depend" 16e1091647SArun Thomas__incinstall: .USE 17e1091647SArun Thomas @cmp -s ${.ALLSRC} ${.TARGET} > /dev/null 2>&1 || \ 18e1091647SArun Thomas (${_MKSHMSG_INSTALL} ${.TARGET}; \ 19e1091647SArun Thomas ${_MKSHECHO} "${INSTALL_FILE} -c -o ${BINOWN} -g ${BINGRP} \ 20e1091647SArun Thomas -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}" && \ 21e1091647SArun Thomas ${INSTALL_FILE} -c -o ${BINOWN} -g ${BINGRP} \ 22e1091647SArun Thomas -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}) 23e1091647SArun Thomas 24e1091647SArun Thomas.for F in ${INCS:O:u} 25e1091647SArun Thomas_FDIR:= ${INCSDIR_${F:C,/,_,g}:U${INCSDIR}} # dir override 26e1091647SArun Thomas_FNAME:= ${INCSNAME_${F:C,/,_,g}:U${INCSNAME:U${F}}} # name override 27e1091647SArun Thomas_F:= ${DESTDIR}${_FDIR}/${_FNAME} # installed path 28e1091647SArun Thomas 29e1091647SArun Thomas.if ${MKUPDATE} == "no" 30e1091647SArun Thomas${_F}! ${F} __incinstall # install rule 31e1091647SArun Thomas.else 32e1091647SArun Thomas${_F}: ${F} __incinstall # install rule 33e1091647SArun Thomas.endif 34e1091647SArun Thomas 35e1091647SArun Thomasincinstall:: ${_F} 36e1091647SArun Thomas.PRECIOUS: ${_F} # keep if install fails 37e1091647SArun Thomas.endfor 38e1091647SArun Thomas 39e1091647SArun Thomas.undef _FDIR 40e1091647SArun Thomas.undef _FNAME 41e1091647SArun Thomas.undef _F 42e1091647SArun Thomas 43e1091647SArun Thomasinclinkinstall: .PHONY 44e1091647SArun Thomas.if !empty(INCSYMLINKS) 45e1091647SArun Thomas @(set ${INCSYMLINKS}; \ 46e1091647SArun Thomas while test $$# -ge 2; do \ 47e1091647SArun Thomas l=$$1; shift; \ 48e1091647SArun Thomas t=${DESTDIR}$$1; shift; \ 49*afd132adSAntoine LECA if ttarg=`${TOOL_STAT} -qf '%Y' $$t` && \ 50*afd132adSAntoine LECA [ "$$l" = "$$ttarg" ]; then \ 51*afd132adSAntoine LECA continue ; \ 52*afd132adSAntoine LECA fi ; \ 53e1091647SArun Thomas ${_MKSHMSG_INSTALL} $$t; \ 54e1091647SArun Thomas ${_MKSHECHO} ${INSTALL_SYMLINK} $$l $$t; \ 55e1091647SArun Thomas ${INSTALL_SYMLINK} $$l $$t; \ 56e1091647SArun Thomas done; ) 57e1091647SArun Thomas.endif 58