b5cd2489b2
* 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.
74 lines
1.4 KiB
Makefile
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
|