NetBSD/share/mk/bsd.doc.mk
tv b5cd2489b2 Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt
  "dependall" and "install".  The old "make build" hack is gone.

* Remove the MKTOOLS logic.  This was linked to the "make build" hack,
  and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
  BSD make wrapper.  Use new ${.ALLTARGETS} variable to scan for
  targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
  src/usr.* and src/gnu/usr.* that would do target filename rewriting
  (improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
  MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
2001-11-12 23:16:17 +00:00

74 lines
1.4 KiB
Makefile

# $NetBSD: bsd.doc.mk,v 1.54 2001/11/12 23:16:20 tv Exp $
# @(#)bsd.doc.mk 8.1 (Berkeley) 8/14/93
.include <bsd.init.mk>
##### Basic targets
.PHONY: cleandoc docinstall print spell
clean: cleandoc
realinstall: docinstall
##### Default values
EQN?= eqn
GREMLIN?= grn
GRIND?= vgrind -f
INDXBIB?= indxbib
PIC?= pic
REFER?= refer
ROFF?= ${GROFF} -Tps
SOELIM?= soelim
TBL?= tbl
##### Build rules
.if !target(paper.ps)
paper.ps: ${SRCS}
${ROFF} ${MACROS} ${PAGES} ${.ALLSRC} > ${.TARGET}
.endif
.if ${MKSHARE} != "no"
realall: paper.ps
.endif
##### Install rules
docinstall:: # ensure existence
.if ${MKDOC} != "no"
__docinstall: .USE
${INSTALL_FILE} -o ${DOCOWN} -g ${DOCGRP} -m ${DOCMODE} \
${.ALLSRC} ${.TARGET}
FILES?= ${SRCS}
.for F in Makefile ${FILES:O:u} ${EXTRA}
_F:= ${DESTDIR}${DOCDIR}/${DIR}/${F} # installed path
${_F}: ${F} __docinstall # install rule
docinstall:: ${_F}
.PRECIOUS: ${_F} # keep if install fails
.PHONY: ${UPDATE:U${_F}} # clobber unless UPDATE
.if !defined(BUILD) && !make(all) && !make(${F})
${_F}: .MADE # no build at install
.endif
.endfor
.undef _F
.endif # ${MKDOC} != "no"
##### Clean rules
cleandoc:
rm -f paper.* [eE]rrs mklog ${CLEANFILES}
##### Custom rules
.if !target(print)
print: paper.ps
lpr -P${PRINTER} ${.ALLSRC}
.endif
spell: ${SRCS}
spell ${.ALLSRC} | sort | comm -23 - spell.ok > paper.spell
##### Pull in related .mk logic
.include <bsd.obj.mk>
${TARGETS}: # ensure existence