summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.doc.mk
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1998-08-02 13:50:23 +0000
committerbde <bde@FreeBSD.org>1998-08-02 13:50:23 +0000
commit09797423d9ca7b52f7d4023cc11d4d22560fcdc2 (patch)
tree7e95cb7baa02243a86e04712533cb5680860ba7e /share/mk/bsd.doc.mk
parent76039265401440844e2b890ed20a14378596a974 (diff)
downloadFreeBSD-src-09797423d9ca7b52f7d4023cc11d4d22560fcdc2.zip
FreeBSD-src-09797423d9ca7b52f7d4023cc11d4d22560fcdc2.tar.gz
Use a different hack in the ${DFILE} rule to keep indirect dependencies
(mostly for includes) separate from direct dependencies (so that ${.ALLSRC} can be used to find full paths to the sources for the direct dependencies only). The `::' hack just forgot the indirect dependendencies. This broke building doc/usd/13.viref with `make -jN' - the index got corrupted by being built twice concurrently. Cleaned up the ${DFILE} rule. There was a .else clause with dead code in it following a .else clause (make accepts this bad syntax). ${.ALLSRC} now works in the USE_SOELIMPP case. Some client Makefiles no longer need the SRCDIR=${.OBJDIR} hack.
Diffstat (limited to 'share/mk/bsd.doc.mk')
-rw-r--r--share/mk/bsd.doc.mk29
1 files changed, 11 insertions, 18 deletions
diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk
index 22383e0..b4603e9 100644
--- a/share/mk/bsd.doc.mk
+++ b/share/mk/bsd.doc.mk
@@ -1,5 +1,5 @@
# from: @(#)bsd.doc.mk 5.3 (Berkeley) 1/2/91
-# $Id: bsd.doc.mk,v 1.43 1998/03/12 20:02:07 eivind Exp $
+# $Id: bsd.doc.mk,v 1.44 1998/05/06 18:44:00 bde Exp $
#
# The include file <bsd.doc.mk> handles installing BSD troff documents.
#
@@ -143,26 +143,19 @@ BINMODE= 444
SRCDIR?= ${.CURDIR}
.if !target(${DFILE})
+_stamp.extraobjs: ${EXTRA} ${OBJS}
+ touch ${.TARGET}
+CLEANFILES+= _stamp.extraobjs
+${DFILE}: ${SRCS} _stamp.extraobjs
.if ${PRINTERDEVICE} == "html"
-${DFILE}: ${SRCS} ${EXTRA} ${OBJS}
cd ${SRCDIR}; ${UNROFF} ${MACROS} ${UNROFFFLAGS} \
- document=${DOC} ${SRCS}
+ document=${DOC} ${SRCS}
+.elif defined(USE_SOELIMPP)
+ ${SOELIMPP} ${.ALLSRC:N_stamp.extraobjs} | ${ROFF} | \
+ ${DCOMPRESS_CMD} > ${.TARGET}
.else
-
-${DFILE}:: ${SRCS} ${EXTRA} ${OBJS}
-# XXX ${.ALLSRC} doesn't work unless there are a lot of .PATH.foo statements.
-ALLSRCS= ${SRCS:S;^;${SRCDIR}/;}
-${DFILE}:: ${SRCS}
-.if defined(USE_SOELIMPP)
- ${SOELIMPP} ${ALLSRCS} | ${ROFF} | ${DCOMPRESS_CMD} > ${.TARGET}
-.else
- (cd ${SRCDIR}; ${ROFF} ${.ALLSRC}) | ${DCOMPRESS_CMD} > ${.TARGET}
-.endif
-.else
-.if !defined(NODOCCOMPRESS)
-${DFILE}: ${DOC}.${PRINTERDEVICE}
- ${DCOMPRESS_CMD} ${DOC}.${PRINTERDEVICE} > ${.TARGET}
-.endif
+ (cd ${SRCDIR}; ${ROFF} ${.ALLSRC:N_stamp.extraobjs}) | \
+ ${DCOMPRESS_CMD} > ${.TARGET}
.endif
.endif
OpenPOWER on IntegriCloud