summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.doc.mk
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-11-29 16:05:08 +0000
committerbde <bde@FreeBSD.org>1995-11-29 16:05:08 +0000
commit0ef33a094b07f7cf4b703ff4ef238e6e7e8d9eaf (patch)
treedd08eea95b13099c6792d12885eb1503f8a99850 /share/mk/bsd.doc.mk
parentd235bcfb64166b03701e485d9d97291f1cdd7a2c (diff)
downloadFreeBSD-src-0ef33a094b07f7cf4b703ff4ef238e6e7e8d9eaf.zip
FreeBSD-src-0ef33a094b07f7cf4b703ff4ef238e6e7e8d9eaf.tar.gz
Added a preprocessor for soelem. If if USE_SOELIMPP is defined, then
1. ${ROFF} is run in ${.OBJDIR}. 2. the preprocessor prefixes ${SRCDIR}/ to relative pathnames in `.so' statements. This is useful when running ${ROFF} in the source directory isn't convenient. Added dependencies on ${EXTRA} and ${OBJS}. These are usually for files that are sourced indirectly. ${OBJS} is for files that are built. 4.4lite has decentalized incomplete dependencies on ${EXTRA} and ${DPADD}. These were broken by are centralized handling of the roff targets.
Diffstat (limited to 'share/mk/bsd.doc.mk')
-rw-r--r--share/mk/bsd.doc.mk16
1 files changed, 14 insertions, 2 deletions
diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk
index acbf77e..a21db8f 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.21 1995/07/27 15:03:25 wollman Exp $
+# $Id: bsd.doc.mk,v 1.22 1995/10/15 16:14:42 jfieber Exp $
PRINTER?= ascii
@@ -16,6 +16,11 @@ ROFF?= groff -mtty-char ${TRFLAGS} ${MACROS} -o${PAGES}
ROFF?= groff ${TRFLAGS} ${MACROS} -o${PAGES}
.endif
SOELIM?= soelim
+SOELIMPP= sed ${SOELIMPPARGS}
+SOELIMPPARGS0= ${SRCS} ${EXTRA}
+SOELIMPPARGS1= ${SOELIMPPARGS0:S/^/-e\\ \'s:\(\.so[\\ \\ ][\\ \\ ]*\)\(/}
+SOELIMPPARGS2= ${SOELIMPPARGS1:S/$/\)\$:\1${SRCDIR}\/\2:\'/}
+SOELIMPPARGS= ${SOELIMPPARGS2:S/\\'/'/g}
TBL?= tbl
DOC?= paper
@@ -128,8 +133,15 @@ BINMODE= 444
SRCDIR?= ${.CURDIR}
.if !target(${DFILE})
-${DFILE}: ${SRCS}
+${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} | ${GZIPCMD} > ${.TARGET}
+.else
(cd ${SRCDIR}; ${ROFF} ${.ALLSRC}) | ${GZIPCMD} > ${.TARGET}
+.endif
.else
.if !defined(NODOCCOMPRESS)
${DFILE}: ${DOC}.${PRINTER}
OpenPOWER on IntegriCloud