diff options
author | rillig <rillig> | 2007-03-08 15:38:47 +0000 |
---|---|---|
committer | rillig <rillig> | 2007-03-08 15:38:47 +0000 |
commit | d597a47d67be1cb1a499b2608fbf2048c0da1dc5 (patch) | |
tree | 3210901ab2a6765e0f5fc2ed358ad508684d4198 /mk/flavor | |
parent | fad5d7e786d9c80e82756a6aa9706c45a8258488 (diff) | |
download | pkgsrc-d597a47d67be1cb1a499b2608fbf2048c0da1dc5.tar.gz |
Don't create ${.TARGET} unless no further error can occur. The make(1)
manual page says that ${.TARGET} is removed automatically if make is
interrupted, but it is _not_ removed if a command fails. This case may
happen after an incomplete CVS update (I forgot the -d option). When
running "make depends" for the first time, an error message is printed.
When running it for the second time, an empty .depends file existed, so
the build continued.
Diffstat (limited to 'mk/flavor')
-rw-r--r-- | mk/flavor/pkg/depends.mk | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/mk/flavor/pkg/depends.mk b/mk/flavor/pkg/depends.mk index f28861e881b..03e37a7f684 100644 --- a/mk/flavor/pkg/depends.mk +++ b/mk/flavor/pkg/depends.mk @@ -1,4 +1,4 @@ -# $NetBSD: depends.mk,v 1.20 2007/02/19 11:05:48 rillig Exp $ +# $NetBSD: depends.mk,v 1.21 2007/03/08 15:38:47 rillig Exp $ _DEPENDS_FILE= ${WRKDIR}/.depends _REDUCE_DEPENDS_CMD= ${SETENV} CAT=${CAT:Q} \ @@ -36,32 +36,33 @@ show-depends: ### .PHONY: depends-cookie depends-cookie: ${_DEPENDS_FILE} - ${_PKG_SILENT}${_PKG_DEBUG}${TEST} ! -f ${_COOKIE.depends} || ${FALSE} - ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${_COOKIE.depends:H} - ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${_DEPENDS_FILE} ${_COOKIE.depends} + ${RUN} [ ! -f ${_COOKIE.depends} ] + ${RUN} ${MKDIR} ${_COOKIE.depends:H} + ${RUN} ${MV} -f ${_DEPENDS_FILE} ${_COOKIE.depends} ${_DEPENDS_FILE}: ${RUN} ${MKDIR} ${.TARGET:H} - ${RUN} ${_REDUCE_DEPENDS_CMD} ${BUILD_DEPENDS:Q} > ${.TARGET}.tmp + ${RUN} ${_REDUCE_DEPENDS_CMD} ${BUILD_DEPENDS:Q} > ${.TARGET}.build ${RUN} \ - exec 0< ${.TARGET}.tmp; \ + exec 0< ${.TARGET}.build; \ while read dep; do \ pattern=`${ECHO} "$$dep" | ${SED} -e "s,:.*,,"`; \ dir=`${ECHO} "$$dep" | ${SED} -e "s,.*:,,"`; \ [ "$$pattern" ]; \ [ "$$dir" ]; \ ${ECHO} "build $$pattern $$dir"; \ - done >> ${.TARGET} - ${RUN} ${_REDUCE_DEPENDS_CMD} ${DEPENDS:Q} > ${.TARGET}.tmp + done >> ${.TARGET}.tmp + ${RUN} ${_REDUCE_DEPENDS_CMD} ${DEPENDS:Q} > ${.TARGET}.full ${RUN} \ - exec 0< ${.TARGET}.tmp; \ + exec 0< ${.TARGET}.full; \ while read dep; do \ pattern=`${ECHO} "$$dep" | ${SED} -e "s,:.*,,"`; \ dir=`${ECHO} "$$dep" | ${SED} -e "s,.*:,,"`; \ [ "$$pattern" ]; \ [ "$$dir" ]; \ ${ECHO} "full $$pattern $$dir"; \ - done >> ${.TARGET} + done >> ${.TARGET}.tmp + ${RUN} ${MV} ${.TARGET}.tmp ${.TARGET} ###################################################################### ### depends-install (PRIVATE, pkgsrc/mk/depends/depends.mk) |