NetBSD/share/mk/bsd.doc.mk
lukem 001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00

71 lines
1.4 KiB
Makefile

# $NetBSD: bsd.doc.mk,v 1.59 2003/07/10 10:34:35 lukem 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
##### Build rules
.if !target(paper.ps)
paper.ps: ${SRCS}
${TOOL_ROFF_PS} ${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} ${SYSPKGTAG} \
${.ALLSRC} ${.TARGET}
FILES?= ${SRCS}
.for F in Makefile ${FILES:O:u} ${EXTRA}
_F:= ${DESTDIR}${DOCDIR}/${DIR}/${F} # installed path
.if !defined(UPDATE)
${_F}! ${F} __docinstall # install rule
.if !defined(BUILD) && !make(all) && !make(${F})
${_F}! .MADE # no build at install
.endif
.else
${_F}: ${F} __docinstall # install rule
.if !defined(BUILD) && !make(all) && !make(${F})
${_F}: .MADE # no build at install
.endif
.endif
docinstall:: ${_F}
.PRECIOUS: ${_F} # keep if install fails
.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>
.include <bsd.sys.mk>
${TARGETS}: # ensure existence