614b9c68cd
FORMATS can be defined as an empty string to suppress generation or installation of any files. Previously setting it to "null" had that effects. Now uses MANOWN, MANGRP and MANMODE for installation instead of BINOWN, BINGRP and BINMODE.
152 lines
3.0 KiB
Makefile
152 lines
3.0 KiB
Makefile
# bsd.sgml.mk - 8 Sep 1995 John Fieber
|
|
# This file is in the public domain.
|
|
#
|
|
# $Id: bsd.sgml.mk,v 1.1 1995/09/08 19:23:19 jfieber Exp $
|
|
|
|
.if exists(${.CURDIR}/../Makefile.inc)
|
|
.include "${.CURDIR}/../Makefile.inc"
|
|
.endif
|
|
|
|
# FORMATS indicates which output formats will be generated. See
|
|
# the sgmlfmt(1) man page for a list of valid formats.
|
|
# If FORMATS is empty, nothing will be built or installed.
|
|
# Use SGMLOPTS to pass extra flags to sgmlfmt(1).
|
|
|
|
FORMATS?= ascii html
|
|
SGMLFLAGS+= ${SGMLOPTS}
|
|
|
|
VOLUME?= ${.CURDIR:T}
|
|
DOC?= ${.CURDIR:T}
|
|
BINDIR?= /usr/share/doc
|
|
SRCDIR?= ${.CURDIR}
|
|
DISTRIBUTION?= doc
|
|
SGMLFMT?= sgmlfmt
|
|
LPR?= lpr
|
|
|
|
DOCS= ${FORMATS:S/^/${DOC}./g}
|
|
|
|
.MAIN: all
|
|
all: ${DOCS}
|
|
|
|
# If FORMATS is empty, do nothing
|
|
.if empty(FORMATS)
|
|
${DOC}. install- print- clean-:
|
|
.endif
|
|
|
|
.if !target(obj)
|
|
.if defined(NOOBJ)
|
|
obj:
|
|
.else
|
|
obj:
|
|
@cd ${.CURDIR}; rm -f obj; \
|
|
here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
|
|
${ECHO} "$$here -> $$dest"; ln -s $$dest obj; \
|
|
if test -d /usr/obj -a ! -d $$dest; then \
|
|
mkdir -p $$dest; \
|
|
else \
|
|
true; \
|
|
fi;
|
|
.endif
|
|
.endif
|
|
|
|
clean: ${FORMATS:S/^/clean-/g}
|
|
rm -f [eE]rrs mklog
|
|
|
|
cleandir: clean
|
|
cd ${.CURDIR}; rm -rf obj
|
|
|
|
install: beforeinstall realinstall afterinstall
|
|
|
|
.if !target(beforeinstall)
|
|
beforeinstall:
|
|
|
|
.endif
|
|
.if !target(afterinstall)
|
|
afterinstall:
|
|
|
|
.endif
|
|
.if !target(maninstall)
|
|
maninstall:
|
|
|
|
.endif
|
|
|
|
realinstall: ${FORMATS:S/^/install-/g}
|
|
|
|
.if !target(print)
|
|
print: ${FORMATS:S/^/print-/g}
|
|
|
|
.endif
|
|
|
|
spell: ${SRCS}
|
|
(cd ${.CURDIR}; spell ${SRCS} ) | sort | \
|
|
comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell
|
|
|
|
.if !target(distribute)
|
|
distribute:
|
|
cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${DISTRIBUTION} SHARED=copies
|
|
.endif
|
|
|
|
.if !target(depend)
|
|
depend:
|
|
|
|
.endif
|
|
|
|
|
|
# For each FORMATS type, define a build, install, clean and print target.
|
|
# Note that there is special case handling for html targets
|
|
# because the number of files generated is generally not possible
|
|
# to predict outside of sgmlfmt(1).
|
|
|
|
.for _XFORMAT in ${FORMATS}
|
|
|
|
# XXX This doesn't work:
|
|
# .if ${_FORMAT} == "foobar"
|
|
# but defining another variable does: (?!?!)
|
|
|
|
_FORMAT = ${_XFORMAT}
|
|
|
|
.if !target(print-${_FORMAT})
|
|
.if ${_FORMAT} == "html"
|
|
print-${_FORMAT}:
|
|
|
|
.else
|
|
print-${_FORMAT}: ${DOC}.${_FORMAT}
|
|
${LPR} -P${.TARGET:S/print-//} ${DOC}.${_FORMAT}
|
|
|
|
.endif
|
|
.endif
|
|
|
|
.if !target(install-${_FORMAT})
|
|
.if ${_FORMAT} == "html"
|
|
install-${_FORMAT}: ${DOC}.${_FORMAT}
|
|
${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
|
|
*.${.TARGET:S/install-//} ${DESTDIR}${BINDIR}/${VOLUME}
|
|
|
|
.else
|
|
install-${_FORMAT}: ${DOC}.${_FORMAT}
|
|
${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
|
|
${DOC}.${.TARGET:S/install-//} ${DESTDIR}${BINDIR}/${VOLUME}
|
|
|
|
.endif
|
|
.endif
|
|
|
|
.if !target(${DOC}.${_FORMAT})
|
|
${DOC}.${_FORMAT}: ${SRCS}
|
|
${SGMLFMT} -f ${.TARGET:S/${DOC}.//} ${SGMLFLAGS} ${.CURDIR}/${DOC}.sgml
|
|
|
|
.endif
|
|
|
|
.if !target(clean-${_FORMAT})
|
|
.if ${_FORMAT} == "html"
|
|
clean-${_FORMAT}:
|
|
rm -f *.${.TARGET:S/clean-//}
|
|
|
|
.else
|
|
clean-${_FORMAT}:
|
|
rm -f ${DOC}.${.TARGET:S/clean-//}
|
|
|
|
.endif
|
|
.endif
|
|
|
|
.endfor
|