=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/share/mk/bsd.port.mk,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- src/share/mk/bsd.port.mk 1997/12/02 23:36:46 1.17 +++ src/share/mk/bsd.port.mk 1997/12/04 08:26:23 1.18 @@ -1,6 +1,6 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 -# $OpenBSD: bsd.port.mk,v 1.17 1997/12/02 23:36:46 niklas Exp $ +# $OpenBSD: bsd.port.mk,v 1.18 1997/12/04 08:26:23 niklas Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -578,6 +578,7 @@ LN?= /bin/ln MKDIR?= /bin/mkdir -p MV?= /bin/mv +READLINK?= /usr/bin/readlink RM?= /bin/rm RMDIR?= /bin/rmdir SED?= /usr/bin/sed @@ -985,10 +986,13 @@ .if !defined(NO_WRKDIR) .if defined(WRKOBJDIR) @${RM} -rf ${WRKOBJDIR}/${PORTSUBDIR} - @${MKDIR} -p ${WRKOBJDIR}/${PORTSUBDIR} - @echo "${WRKDIR} -> ${WRKOBJDIR}/${PORTSUBDIR}" - @# XXX whatif a build is going on right now? Is this wise? - @${LN} -sf ${WRKOBJDIR}/${PORTSUBDIR} ${WRKDIR} + @${MKDIR} ${WRKOBJDIR}/${PORTSUBDIR} + @if [ ! -L ${WRKDIR} ] || \ + [ X`${READLINK} ${WRKDIR}` != X${WRKOBJDIR}/${PORTSUBDIR} ]; then \ + echo "${WRKDIR} -> ${WRKOBJDIR}/${PORTSUBDIR}"; \ + ${RM} -f ${WRKDIR}; \ + ${LN} -sf ${WRKOBJDIR}/${PORTSUBDIR} ${WRKDIR}; \ + fi .else @${RM} -rf ${WRKDIR} @${MKDIR} ${WRKDIR}