1 1.32 dbj # $NetBSD: bsd.links.mk,v 1.32 2006/09/11 22:24:09 dbj Exp $ 2 1.23 lukem 3 1.23 lukem .include <bsd.init.mk> 4 1.3 mycroft 5 1.15 tv ##### Basic targets 6 1.18 pk install: linksinstall 7 1.1 christos 8 1.15 tv ##### Default values 9 1.15 tv LINKS?= 10 1.15 tv SYMLINKS?= 11 1.15 tv 12 1.32 dbj __linkinstall: .USE 13 1.32 dbj ${_MKSHMSG_INSTALL} ${.TARGET}; \ 14 1.32 dbj ${_MKSHECHO} "${INSTALL_LINK} ${.ALLSRC} ${.TARGET}" && \ 15 1.32 dbj ${INSTALL_LINK} ${.ALLSRC} ${.TARGET} 16 1.32 dbj 17 1.15 tv ##### Install rules 18 1.26 lukem .PHONY: linksinstall 19 1.19 sommerfe linksinstall:: realinstall 20 1.15 tv .if !empty(SYMLINKS) 21 1.11 drochner @(set ${SYMLINKS}; \ 22 1.1 christos while test $$# -ge 2; do \ 23 1.15 tv l=$$1; shift; \ 24 1.15 tv t=${DESTDIR}$$1; shift; \ 25 1.22 lukem if ttarg=`${TOOL_STAT} -qf '%Y' $$t` && \ 26 1.22 lukem [ "$$l" = "$$ttarg" ]; then \ 27 1.22 lukem continue ; \ 28 1.22 lukem fi ; \ 29 1.25 lukem ${_MKSHMSG_INSTALL} $$t; \ 30 1.31 jwise ${_MKSHECHO} ${INSTALL_SYMLINK} $$l $$t; \ 31 1.31 jwise ${INSTALL_SYMLINK} $$l $$t; \ 32 1.13 simonb done; ) 33 1.1 christos .endif 34 1.32 dbj 35 1.32 dbj .for _src _dst in ${LINKS} 36 1.32 dbj _l:=${DESTDIR}${_src} 37 1.32 dbj _t:=${DESTDIR}${_dst} 38 1.32 dbj 39 1.32 dbj # Handle case conflicts carefully, when _dst occurs 40 1.32 dbj # more than once after case flattening 41 1.32 dbj .if ${MKUPDATE} == "no" || ${LINKS:tl:M${_dst:tl:Q}:[\#]} > 1 42 1.32 dbj ${_t}! ${_l} __linkinstall 43 1.32 dbj .else 44 1.32 dbj ${_t}: ${_l} __linkinstall 45 1.1 christos .endif 46 1.24 lukem 47 1.32 dbj linksinstall:: ${_t} 48 1.32 dbj .PRECIOUS: ${_t} 49 1.32 dbj .endfor 50 1.27 lukem 51 1.27 lukem configinstall: configlinksinstall 52 1.30 lukem .PHONY: configlinksinstall 53 1.30 lukem configlinksinstall:: configfilesinstall 54 1.28 lukem .if defined(CONFIGSYMLINKS) 55 1.27 lukem @(set ${CONFIGSYMLINKS}; \ 56 1.27 lukem while test $$# -ge 2; do \ 57 1.27 lukem l=$$1; shift; \ 58 1.27 lukem t=${DESTDIR}$$1; shift; \ 59 1.27 lukem if ttarg=`${TOOL_STAT} -qf '%Y' $$t` && \ 60 1.27 lukem [ "$$l" = "$$ttarg" ]; then \ 61 1.27 lukem continue ; \ 62 1.27 lukem fi ; \ 63 1.27 lukem ${_MKSHMSG_INSTALL} $$t; \ 64 1.31 jwise ${_MKSHECHO} ${INSTALL_SYMLINK} $$l $$t; \ 65 1.31 jwise ${INSTALL_SYMLINK} $$l $$t; \ 66 1.27 lukem done; ) 67 1.27 lukem .endif 68 1.32 dbj 69 1.32 dbj .for _src _dst in ${CONFIGLINKS} 70 1.32 dbj _l:=${DESTDIR}${_src} 71 1.32 dbj _t:=${DESTDIR}${_dst} 72 1.32 dbj 73 1.32 dbj # Handle case conflicts carefully, when _dst occurs 74 1.32 dbj # more than once after case flattening 75 1.32 dbj .if ${MKUPDATE} == "no" || ${CONFIGLINKS:tl:M${_dst:tl:Q}:[\#]} > 1 76 1.32 dbj ${_t}! ${_l} __linkinstall 77 1.32 dbj .else 78 1.32 dbj ${_t}: ${_l} __linkinstall 79 1.28 lukem .endif 80 1.27 lukem 81 1.32 dbj configlinksinstall:: ${_t} 82 1.32 dbj .PRECIOUS: ${_t} 83 1.32 dbj .endfor 84 1.32 dbj 85 1.24 lukem .include <bsd.sys.mk> 86