Make build/install /usr/obj prefix clean.

Also fix several minor bugs here, such as leftover files not being
deleted after 'make clean'.

PR:		docs/31131
Submitted by:	Cyrille Lefevre <clefevre@citeweb.net>
backups/projects/sgml2xml@41712
Murray Stokely 23 years ago
parent 4957cc2b7f
commit f92319a1b1
Notes: svn2git 3 years ago
svn path=/head/; revision=11066

@ -1,4 +1,4 @@
# $FreeBSD: doc/Makefile,v 1.20 2000/09/21 20:48:16 ben Exp $
# $FreeBSD$
#
# The user can override the default list of languages to build and install
# with the DOC_LANG variable.
@ -17,26 +17,32 @@ SUBDIR+= zh_TW.Big5
DOC_PREFIX?= ${.CURDIR}
SUP?= ${PREFIX}/bin/cvsup
SUPFLAGS?= -g -L 2 -P -
.if defined(SUPHOST)
SUPFLAGS+= -h ${SUPHOST}
.endif
CVS?= /usr/bin/cvs
CVSFLAGS?= -q
update:
.if defined(SUP_UPDATE)
.if !defined(DOCSUPFILE)
@echo "Error: Please define DOCSUPFILE before doing make update."
@${ECHO_CMD} "Error: Please define DOCSUPFILE before doing make update."
@exit 1
.endif
@echo "--------------------------------------------------------------"
@echo ">>> Running ${SUP}"
@echo "--------------------------------------------------------------"
@${ECHODIR} "--------------------------------------------------------------"
@${ECHODIR} ">>> Running ${SUP}"
@${ECHODIR} "--------------------------------------------------------------"
@${SUP} ${SUPFLAGS} ${DOCSUPFILE}
.elif defined(CVS_UPDATE)
@echo "--------------------------------------------------------------"
@echo ">>> Updating ${.CURDIR} from cvs repository" ${CVSROOT}
@echo "--------------------------------------------------------------"
cd ${.CURDIR}; cvs -q update -P -d
@${ECHODIR} "--------------------------------------------------------------"
@${ECHODIR} ">>> Updating ${.CURDIR} from cvs repository" ${CVSROOT}
@${ECHODIR} "--------------------------------------------------------------"
cd ${.CURDIR}; ${CVS} ${CVSFLAGS} update -P -d
.else
@echo "Error: Please define either SUP_UPDATE or CVS_UPDATE first."
@${ECHO_CMD} "Error: Please define either SUP_UPDATE or CVS_UPDATE first."
.endif
.include "${DOC_PREFIX}/share/mk/doc.subdir.mk"
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

@ -1,5 +1,5 @@
#
# $FreeBSD: doc/share/mk/doc.docbook.mk,v 1.50 2001/09/17 09:45:01 murray Exp $
# $FreeBSD$
#
# This include file <doc.docbook.mk> handles building and installing of
# DocBook documentation in the FreeBSD Documentation Project.
@ -118,16 +118,25 @@ LANGUAGECATALOG=${DOC_PREFIX}/${LANGCODE}/share/sgml/catalog
DOCBOOKCATALOG= ${PREFIX}/share/sgml/docbook/catalog
DSSSLCATALOG= ${PREFIX}/share/sgml/docbook/dsssl/modular/catalog
COLLATEINDEX= ${PREFIX}/share/sgml/docbook/dsssl/modular/bin/collateindex.pl
IMAGES_LIB?=
JADEOPTS= ${JADEFLAGS} ${SGMLFLAGS} -c ${LANGUAGECATALOG} -c ${FREEBSDCATALOG} -c ${DSSSLCATALOG} -c ${DOCBOOKCATALOG} -c ${JADECATALOG} ${EXTRA_CATALOGS:S/^/-c /g}
CATALOGS= -c ${LANGUAGECATALOG} -c ${FREEBSDCATALOG} \
-c ${DSSSLCATALOG} -c ${DOCBOOKCATALOG} \
-c ${JADECATALOG} ${EXTRA_CATALOGS:S/^/-c /g}
SGMLFLAGS+= -D ${CANONICALOBJDIR}
JADEOPTS= ${JADEFLAGS} ${SGMLFLAGS} ${CATALOGS}
KNOWN_FORMATS= html html.tar html-split html-split.tar txt rtf ps pdf tex dvi tar pdb
KNOWN_FORMATS= html html.tar html-split html-split.tar \
txt rtf ps pdf tex dvi tar pdb
CSS_SHEET?= ${DOC_PREFIX}/share/misc/docbook.css
PDFTEX_DEF?= ${DOC_PREFIX}/share/web2c/pdftex.def
PRINTOPTS?= -ioutput.print
HTMLOPTS?= -ioutput.html -d ${DSLHTML} ${HTMLFLAGS}
PRINTOPTS?= -ioutput.print -d ${DSLPRINT} ${PRINTFLAGS}
.if defined(BOOK_OUTPUT)
NICE_HEADERS=1
@ -155,6 +164,33 @@ PRINTOPTS+= -V minimal-section-labels
TEXCMDS+= \tracingstats=${TRACE}
.endif
PERL?= /usr/bin/perl
PKG_CREATE?= /usr/sbin/pkg_create
SORT?= /usr/bin/sort
TAR?= /usr/bin/tar
TOUCH?= /usr/bin/touch
XARGS?= /usr/bin/xargs
TEX?= ${PREFIX}/bin/tex
PDFTEX?= ${PREFIX}/bin/pdftex
TIDY?= ${PREFIX}/bin/tidy
TIDYFLAGS?= -i -m -f /dev/null
HTML2TXT?= ${PREFIX}/bin/links
HTML2TXTFLAGS?= -dump
HTML2PDB?= ${PREFIX}/bin/iSiloBSD
HTML2PDBFLAGS?= -y -d0 -Idef
DVIPS?= ${PREFIX}/bin/dvips
.if defined(PAPERSIZE)
DVIPSFLAGS?= -t ${PAPERSIZE:L}
.endif
GZIP?= -9
GZIP_CMD?= gzip -qf ${GZIP}
BZIP2?= -9
BZIP2_CMD?= bzip2 -qf ${BZIP2}
ZIP?= -9
ZIP_CMD?= ${PREFIX}/bin/zip -j ${ZIP}
# ------------------------------------------------------------------------
#
# Look at ${FORMATS} and work out which documents need to be generated.
@ -197,60 +233,61 @@ TEXCMDS+= \tracingstats=${TRACE}
# and INSTALL_COMPRESSED variables are wrong.
#
.if ${.OBJDIR} != ${.CURDIR}
LOCAL_CSS_SHEET= ${.OBJDIR}/${CSS_SHEET:T}
.else
LOCAL_CSS_SHEET= ${CSS_SHEET:T}
.endif
.for _curformat in ${FORMATS}
_cf=${_curformat}
.if ${_cf} == "html-split"
_docs+= index.html HTML.manifest ln*.html
CLEANFILES+= `[ -f HTML.manifest ] && xargs < HTML.manifest` HTML.manifest ln*.html
CLEANFILES+= docbook.css
CLEANFILES+= $$([ -f HTML.manifest ] && ${XARGS} < HTML.manifest) \
HTML.manifest ln*.html
CLEANFILES+= PLIST.${_curformat}
.elif ${_cf} == "html-split.tar"
_docs+= ${DOC}.html-split.tar
CLEANFILES+= `[ -f HTML.manifest ] && xargs < HTML.manifest` HTML.manifest ln*.html
CLEANFILES+= ${DOC}.html-split.tar
CLEANFILES+= docbook.css
.else
_docs+= ${DOC}.${_curformat}
CLEANFILES+= ${DOC}.${_curformat}
CLEANFILES+= PLIST.${_curformat}
.elif ${_cf} == "html"
_docs+= ${DOC}.html
CLEANFILES+= ${DOC}.html
CLEANFILES+= docbook.css
.if ${_cf} == "html-split.tar"
CLEANFILES+= $$([ -f HTML.manifest ] && ${XARGS} < HTML.manifest) \
HTML.manifest ln*.html
.elif ${_cf} == "html.tar"
_docs+= ${DOC}.html.tar
CLEANFILES+= ${DOC}.html ${DOC}.html.tar
CLEANFILES+= docbook.css
CLEANFILES+= ${DOC}.html
.elif ${_cf} == "txt"
_docs+= ${DOC}.txt
CLEANFILES+= ${DOC}.html ${DOC}.txt ${DOC}.html-text
CLEANFILES+= docbook.css
CLEANFILES+= ${DOC}.html-text
.elif ${_cf} == "dvi"
_docs+= ${DOC}.dvi
CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex
CLEANFILES+= ${DOC}.aux ${DOC}.log ${DOC}.tex
.elif ${_cf} == "tex"
CLEANFILES+= ${DOC}.aux ${DOC}.log
.elif ${_cf} == "ps"
_docs+= ${DOC}.ps
CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps ${DOC}.ps
CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps
.elif ${_cf} == "pdf"
_docs+= ${DOC}.pdf
CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.out ${DOC}.tex-pdf ${DOC}.pdf
.elif ${_cf} == "rtf"
_docs+= ${DOC}.rtf
CLEANFILES+= ${DOC}.rtf
.elif ${_cf} == "tar"
_docs+= ${DOC}.tar
CLEANFILES+= ${DOC}.tar
CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.out ${DOC}.tex-pdf
.elif ${_cf} == "pdb"
_docs+= ${DOC}.pdb ${.CURDIR:T}.pdb
CLEANFILES+= ${DOC}.pdb ${.CURDIR:T}.pdb
_docs+= ${.CURDIR:T}.pdb
CLEANFILES+= ${.CURDIR:T}.pdb
.endif
.endif
.if (${LOCAL_CSS_SHEET} != ${CSS_SHEET}) && \
(${_cf} == "html-split" || ${_cf} == "html-split.tar" || \
${_cf} == "html" || ${_cf} == "html.tar" || ${_cf} == "txt")
CLEANFILES+= ${LOCAL_CSS_SHEET}
.endif
.endfor
@ -265,10 +302,17 @@ CLEANFILES+= ${DOC}.pdb ${.CURDIR:T}.pdb
.for _curformat in ${FORMATS}
_cf=${_curformat}
.for _curcomp in ${INSTALL_COMPRESSED}
.if ${_cf} != "html-split" && ${_cf} != "html"
_curinst+= install-${_curformat}.${_curcomp}
_docs+= ${DOC}.${_curformat}.${_curcomp}
CLEANFILES+= ${DOC}.${_curformat}.${_curcomp}
.if ${_cf} == "pdb"
_docs+= ${.CURDIR:T}.${_curformat}.${_curcomp}
CLEANFILES+= ${.CURDIR:T}.${_curformat}.${_curcomp}
.endif
.endif
.endfor
.endfor
@ -289,53 +333,62 @@ PRINT_INDEX?= print.index
CLEANFILES+= ${HTML_SPLIT_INDEX} ${HTML_INDEX} ${PRINT_INDEX}
.endif
.for _curimage in ${IMAGES_LIB}
LOCAL_IMAGES_LIB += ${LOCAL_IMAGES_LIB_DIR}/${_curimage}
.endfor
.MAIN: all
all: ${_docs}
index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${INDEX_SGML} ${HTML_SPLIT_INDEX} docbook.css
${JADE} -V html-manifest -ioutput.html -ioutput.html.images ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC}
index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET}
${JADE} -V html-manifest ${HTMLOPTS} -ioutput.html.images \
${JADEOPTS} -t sgml ${MASTERDOC}
.if !defined(NO_TIDY)
-tidy -i -m -f /dev/null ${TIDYFLAGS} `xargs < HTML.manifest`
-${TIDY} ${TIDYFLAGS} $$(${XARGS} < HTML.manifest)
.endif
${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${INDEX_SGML} ${HTML_INDEX} docbook.css
${JADE} -ioutput.html -ioutput.html.images -V nochunks ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC} > ${.TARGET} || (rm -f ${.TARGET} && false)
${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
${INDEX_SGML} ${HTML_INDEX} ${LOCAL_CSS_SHEET}
${JADE} -V nochunks ${HTMLOPTS} -ioutput.html.images \
${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \
(${RM} -f ${.TARGET} && false)
.if !defined(NO_TIDY)
-tidy -i -m -f /dev/null ${TIDYFLAGS} ${.TARGET}
-${TIDY} ${TIDYFLAGS} ${.TARGET}
.endif
# Special target to produce HTML with no images in it.
${DOC}.html-text: ${SRCS} ${INDEX_SGML} ${HTML_INDEX}
${JADE} -ioutput.html -V nochunks ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC} > ${.TARGET} || (rm -f ${.TARGET} && false)
${JADE} -V nochunks ${HTMLOPTS} \
${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \
(${RM} -f ${.TARGET} && false)
${DOC}.html-split.tar: HTML.manifest
tar cf ${.TARGET} `xargs < HTML.manifest`
tar uf ${.TARGET} ${IMAGES_LIB}
tar uf ${.TARGET} ${IMAGES_PNG}
tar uf ${.TARGET} docbook.css
${DOC}.html-split.tar: HTML.manifest ${LOCAL_IMAGES_LIB} \
${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET}
${TAR} cf ${.TARGET} $$(${XARGS} < HTML.manifest) \
${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${CSS_SHEET:T}
${DOC}.html.tar: ${DOC}.html
tar cf ${.TARGET} ${DOC}.html
tar uf ${.TARGET} ${LOCAL_IMAGES_LIB}
tar uf ${.TARGET} ${IMAGES_PNG}
tar uf ${.TARGET} docbook.css
${DOC}.html.tar: ${DOC}.html ${LOCAL_IMAGES_LIB} \
${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET}
${TAR} cf ${.TARGET} ${DOC}.html \
${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${CSS_SHEET:T}
${DOC}.txt: ${DOC}.html-text
links -dump ${.ALLSRC} > ${.TARGET}
${HTML2TXT} ${HTML2TXTFLAGS} ${.ALLSRC} > ${.TARGET}
${DOC}.pdb: ${DOC}.html
iSiloBSD -y -d0 -Idef ${DOC}.html ${DOC}.pdb
${DOC}.pdb: ${DOC}.html ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG}
${HTML2PDB} ${HTML2PDBFLAGS} ${DOC}.html ${.TARGET}
${.CURDIR:T}.pdb: ${DOC}.pdb
ln -f ${DOC}.pdb ${.CURDIR}.pdb
${LN} -f ${.ALLSRC} ${.TARGET}
${DOC}.rtf: ${SRCS}
${JADE} -Vrtf-backend ${PRINTOPTS} ${JADEOPTS} -d ${DSLPRINT} -t rtf -o ${.TARGET} ${MASTERDOC}
.if defined(INSTALL_COMPRESSED) && !empty(INSTALL_COMPRESSED)
.for _curcomp in ${INSTALL_COMPRESSED}
${.CURDIR:T}.pdb.${_curcomp}: ${DOC}.pdb.${_curcomp}
${LN} -f ${.ALLSRC} ${.TARGET}
.endfor
.endif
${DOC}.rtf: ${SRCS} ${LOCAL_IMAGES_EPS}
${JADE} -V rtf-backend ${PRINTOPTS} \
${JADEOPTS} -t rtf -o ${.TARGET} ${MASTERDOC}
#
# This sucks, but there's no way round it. The PS and PDF formats need
@ -344,34 +397,51 @@ ${DOC}.rtf: ${SRCS}
# format, which will then lead on to a different .dvi file as well.
#
${DOC}.tex-ps: ${SRCS} ${IMAGES_EPS} ${INDEX_SGML} ${PRINT_INDEX}
${JADE} -Vtex-backend ${PRINTOPTS} ${JADEOPTS} -d ${DSLPRINT} -t tex -o ${.TARGET} ${MASTERDOC}
${DOC}.tex: ${SRCS} ${LOCAL_IMAGES_EPS} ${INDEX_SGML} ${PRINT_INDEX}
${JADE} -V tex-backend ${PRINTOPTS} \
${JADEOPTS} -t tex -o ${.TARGET} ${MASTERDOC}
${DOC}.tex-ps: ${DOC}.tex
${LN} -f ${.ALLSRC} ${.TARGET}
${DOC}.tex-pdf: ${SRCS} ${IMAGES_PDF} ${INDEX_SGML} ${PRINT_INDEX}
cp ${DOC_PREFIX}/share/web2c/pdftex.def ${.TARGET}
${JADE} -Vtex-backend ${PRINTOPTS} -ioutput.print.pdf ${JADEOPTS} -d ${DSLPRINT} -t tex -o /dev/stdout ${MASTERDOC} >> ${.TARGET}
${DOC}.dvi: ${DOC}.tex-ps
@echo "==> TeX pass 1/3"
-tex "&jadetex" '${TEXCMDS} \nonstopmode\input{${.ALLSRC}}'
@echo "==> TeX pass 2/3"
-tex "&jadetex" '${TEXCMDS} \nonstopmode\input{${.ALLSRC}}'
@echo "==> TeX pass 3/3"
-tex "&jadetex" '${TEXCMDS} \nonstopmode\input{${.ALLSRC}}'
${DOC}.pdf: ${DOC}.tex-pdf
@echo "==> PDFTeX pass 1/3"
-pdftex "&pdfjadetex" '\nonstopmode\input{${.ALLSRC}}'
@echo "==> PDFTeX pass 2/3"
-pdftex "&pdfjadetex" '\nonstopmode\input{${.ALLSRC}}'
@echo "==> PDFTeX pass 3/3"
pdftex "&pdfjadetex" '\nonstopmode\input{${.ALLSRC}}'
${CP} -p ${PDFTEX_DEF} ${.TARGET}
${JADE} -V tex-backend ${PRINTOPTS} -ioutput.print.pdf \
${JADEOPTS} -t tex -o /dev/stdout ${MASTERDOC} >> ${.TARGET}
${DOC}.dvi: ${DOC}.tex ${LOCAL_IMAGES_EPS}
@${ECHO} "==> TeX pass 1/3"
-${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}'
@${ECHO} "==> TeX pass 2/3"
-${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}'
@${ECHO} "==> TeX pass 3/3"
-${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}'
${DOC}.pdf: ${DOC}.tex-pdf ${IMAGES_PDF}
@${ECHO} "==> PDFTeX pass 1/3"
-${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${DOC}.dvi}'
@${ECHO} "==> PDFTeX pass 2/3"
-${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${DOC}.dvi}'
@${ECHO} "==> PDFTeX pass 3/3"
${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${DOC}.dvi}'
${DOC}.ps: ${DOC}.dvi
dvips -o ${.TARGET} ${.ALLSRC}
${DVIPS} -o ${.TARGET} ${.ALLSRC}
${DOC}.tar: ${SRCS} ${LOCAL_IMAGES} ${LOCAL_CSS_SHEET}
${TAR} cf ${.TARGET} -C ${.CURDIR} ${SRCS} \
-C ${.OBJDIR} ${IMAGES} ${CSS_SHEET:T}
#
# Build targets for any formats we've missed that we don't handle.
#
.for _curformat in ${ALL_FORMATS}
.if !target(${DOC}.${_curformat})
${DOC}.${_curformat}:
@${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document.
.endif
.endfor
${DOC}.tar: ${SRCS}
tar cf ${.TARGET} ${.ALLSRC}
# ------------------------------------------------------------------------
#
@ -384,7 +454,8 @@ ${DOC}.tar: ${SRCS}
#
lint validate:
${NSGMLS} ${SGMLFLAGS} -s -c ${LANGUAGECATALOG} -c ${FREEBSDCATALOG} -c ${DSSSLCATALOG} -c ${DOCBOOKCATALOG} -c ${JADECATALOG} ${EXTRA_CATALOGS:S/^/-c /g} ${MASTERDOC}
${NSGMLS} -s ${SGMLFLAGS} ${CATALOGS} ${MASTERDOC}
# ------------------------------------------------------------------------
#
@ -400,22 +471,25 @@ lint validate:
.if defined(GEN_INDEX)
${INDEX_SGML}:
perl ${PREFIX}/share/sgml/docbook/dsssl/modular/bin/collateindex.pl -N -o ${.TARGET}
${PERL} ${COLLATEINDEX} -N -o ${.TARGET}
.else
${INDEX_SGML}:
touch ${.TARGET}
${TOUCH} ${.TARGET}
.endif
${HTML_INDEX}:
${JADE} -V html-index -ioutput.html -ioutput.html.images -V nochunks ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC} > /dev/null
perl ${PREFIX}/share/sgml/docbook/dsssl/modular/bin/collateindex.pl -g -o ${INDEX_SGML} ${.TARGET}
${JADE} -V html-index -V nochunks ${HTMLOPTS} -ioutput.html.images \
${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null
${PERL} ${COLLATEINDEX} -g -o ${INDEX_SGML} ${.TARGET}
${HTML_SPLIT_INDEX}:
${JADE} -V html-index -ioutput.html -ioutput.html.images ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC} > /dev/null
perl ${PREFIX}/share/sgml/docbook/dsssl/modular/bin/collateindex.pl -g -o ${INDEX_SGML} ${.TARGET}
${JADE} -V html-index ${HTMLOPTS} -ioutput.html.images \
${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null
${PERL} ${COLLATEINDEX} -g -o ${INDEX_SGML} ${.TARGET}
${PRINT_INDEX}: ${HTML_INDEX}
mv ${HTML_INDEX} ${.TARGET}
${CP} -p ${HTML_INDEX} ${.TARGET}
# ------------------------------------------------------------------------
#
@ -438,13 +512,13 @@ KNOWN_COMPRESS= gz bz2 zip
#
_PROG_COMPRESS_gz: .USE
gzip -9 -c ${.ALLSRC} > ${.TARGET}
${GZIP_CMD} < ${.ALLSRC} > ${.TARGET}
_PROG_COMPRESS_bz2: .USE
bzip2 -9 -c ${.ALLSRC} > ${.TARGET}
${BZIP2_CMD} < ${.ALLSRC} > ${.TARGET}
_PROG_COMPRESS_zip: .USE
zip -j -9 ${.TARGET} ${.ALLSRC}
${ZIP_CMD} ${.TARGET} ${.ALLSRC}
#
# Build a list of targets for each compression scheme and output format.
@ -455,13 +529,27 @@ _PROG_COMPRESS_zip: .USE
_cf=${_curformat}
.for _curcompress in ${KNOWN_COMPRESS}
.if ${_cf} == "html-split" || ${_cf} == "html"
${DOC}.${_cf}.tar.${_curcompress}: ${DOC}.${_cf}.tar _PROG_COMPRESS_${_curcompress}
${DOC}.${_cf}.tar.${_curcompress}: ${DOC}.${_cf}.tar \
_PROG_COMPRESS_${_curcompress}
.else
${DOC}.${_cf}.${_curcompress}: ${DOC}.${_cf} _PROG_COMPRESS_${_curcompress}
.endif
.endfor
.endfor
#
# Build targets for any formats we've missed that we don't handle.
#
.for _curformat in ${ALL_FORMATS}
.for _curcompress in ${KNOWN_COMPRESS}
.if !target(${DOC}.${_curformat}.${_curcompress})
${DOC}.${_curformat}.${_curcompress}:
@${ECHO_CMD} \"${_curformat}.${_curcompress}\" is not a valid output format for this document.
.endif
.endfor
.endfor
# ------------------------------------------------------------------------
#
# Install targets
@ -497,70 +585,92 @@ realinstall: ${_curinst}
_cf=${_curformat}
.if !target(install-${_cf})
.if ${_cf} == "html-split"
install-${_cf}: index.html
@[ -d ${DESTDIR} ] || mkdir -p ${DESTDIR}
${INSTALL_DOCS} `xargs < HTML.manifest` ${DESTDIR}
${INSTALL_DOCS} docbook.css ${DESTDIR}
install-${_curformat}: index.html
.else
install-${_curformat}: ${DOC}.${_curformat}
.endif
@[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR}
.if ${_cf} == "html-split"
${INSTALL_DOCS} $$(${XARGS} < HTML.manifest) ${DESTDIR}
.else
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
.endif
.if (${_cf} == "html-split" || ${_cf} == "html") && !empty(LOCAL_CSS_SHEET)
${INSTALL_DOCS} ${LOCAL_CSS_SHEET} ${DESTDIR}
.if ${_cf} == "html-split"
@if [ -f ln*.html ]; then \
${INSTALL_DOCS} ln*.html ${DESTDIR}; \
fi
@if [ -f ${.OBJDIR}/${DOC}.ln ]; then \
(cd ${DESTDIR}; sh ${.OBJDIR}/${DOC}.ln); \
cd ${DESTDIR}; sh ${.OBJDIR}/${DOC}.ln; \
fi
.endif
.for _curimage in ${IMAGES_LIB}
@[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || mkdir -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
${INSTALL_DOCS} ${LOCAL_IMAGES_LIB_DIR}/${_curimage} ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
@[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \
${MKDIR} -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
${INSTALL_DOCS} ${LOCAL_IMAGES_LIB_DIR}/${_curimage} \
${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
.endfor
# Install the images. First, loop over all the image names that contain a
# directory seperator, make the subdirectories, and install. Then loop over
# the ones that don't contain a directory separator, and install them in the
# top level.
.for _curimage in ${IMAGES_PNG:M*/*}
mkdir -p ${DESTDIR}/${_curimage:H}
${MKDIR} -p ${DESTDIR}/${_curimage:H}
${INSTALL_DOCS} ${_curimage} ${DESTDIR}/${_curimage:H}
.endfor
.for _curimage in ${IMAGES_PNG:N*/*}
${INSTALL_DOCS} ${_curimage} ${DESTDIR}
.endfor
.for _compressext in ${KNOWN_COMPRESS}
install-${_cf}.tar.${_compressext}: ${DOC}.${_cf}.tar.${_compressext}
@[ -d ${DESTDIR} ] || mkdir -p ${DESTDIR}
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
.endfor
.elif ${_cf} == "html"
install-${_cf}: ${DOC}.${_cf}
@[ -d ${DESTDIR} ] || mkdir -p ${DESTDIR}
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
${INSTALL_DOCS} docbook.css ${DESTDIR}
.for _curimage in ${IMAGES_LIB}
@[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || mkdir -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
${INSTALL_DOCS} ${LOCAL_IMAGES_LIB_DIR}/${_curimage} ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
.endfor
# Install the images. First, loop over all the image names that contain a
# directory seperator, make the subdirectories, and install. Then loop over
# the ones that don't contain a directory separator, and install them in the
# top level.
.for _curimage in ${IMAGES_PNG:M*/*}
mkdir -p ${DESTDIR}/${_curimage:H}
.elif ${_cf} == "tex" || ${_cf} == "dvi"
.for _curimage in ${IMAGES_EPS:M*/*}
${MKDIR} -p ${DESTDIR}/${_curimage:H}
${INSTALL_DOCS} ${_curimage} ${DESTDIR}/${_curimage:H}
.endfor
.for _curimage in ${IMAGES_PNG:N*/*}
.for _curimage in ${IMAGES_EPS:N*/*}
${INSTALL_DOCS} ${_curimage} ${DESTDIR}
.endfor
.else
install-${_cf}: ${DOC}.${_cf}
@[ -d ${DESTDIR} ] || mkdir -p ${DESTDIR}
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
.elif ${_cf} == "pdb"
${LN} -f ${DESTDIR}/${.ALLSRC} ${DESTDIR}/${.CURDIR:T}.${_curformat}
.endif
.if ${_cf} == "html-split"
.for _compressext in ${KNOWN_COMPRESS}
install-${_curformat}.tar.${_compressext}: ${DOC}.${_curformat}.tar.${_compressext}
@[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR}
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
.endfor
.else
.for _compressext in ${KNOWN_COMPRESS}
install-${_cf}.${_compressext}: ${DOC}.${_cf}.${_compressext}
@[ -d ${DESTDIR} ] || mkdir -p ${DESTDIR}
install-${_curformat}.${_compressext}: ${DOC}.${_curformat}.${_compressext}
@[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR}
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
.if ${_cf} == "pdb"
${LN} -f ${DESTDIR}/${.ALLSRC} \
${DESTDIR}/${.CURDIR:T}.${_curformat}.${_compressext}
.endif
.endfor
.endif
.endif
.endfor
#
# Build install- targets for any formats we've missed that we don't handle.
#
.for _curformat in ${ALL_FORMATS}
.if !target(install-${_curformat})
install-${_curformat}:
@${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document.
.for _compressext in ${KNOWN_COMPRESS}
install-${_curformat}.${_compressext}:
@${ECHO_CMD} \"${_curformat}.${_compressext}\" is not a valid output format for this document.
.endfor
.endif
.endfor
# ------------------------------------------------------------------------
#
# Package building
@ -577,7 +687,7 @@ install-${_cf}.${_compressext}: ${DOC}.${_cf}.${_compressext}
realpackage: ${FORMATS:S/^/package-/}
packagelist:
@echo ${FORMATS:S/^/package-/}
@${ECHO_CMD} ${FORMATS:S/^/package-/}
#
# Build a list of package targets for each output target. Each package
@ -587,30 +697,31 @@ packagelist:
.for _curformat in ${KNOWN_FORMATS}
_cf=${_curformat}
.if ${_cf} == "html-split"
package-${_curformat}: index.html
@cp HTML.manifest PLIST
@for images_png in ${IMAGES_PNG}; do \
echo $$images_png >> PLIST; \
echo docbook.css >> PLIST; \
done
.elif ${_cf} == "html"
package-${curformat}: ${DOC}.html
@echo ${DOC}.${_curformat} > PLIST
@for images_png in ${IMAGES_PNG}; do \
echo $$images_png >> PLIST; \
echo docbook.css >> PLIST; \
done
PLIST.${_curformat}: index.html
@${SORT} HTML.manifest > PLIST.${_curformat}
.else
package-${_curformat}: ${DOC}.${_curformat}
@echo ${DOC}.${_curformat} > PLIST
@for lib_images in ${IMAGES_LIB}; do \
echo $$lib_images >> PLIST; \
done
.endif
@pkg_create -v -c -"FDP ${.CURDIR:T} ${_curformat} package" \
-d -"FDP ${.CURDIR:T} ${_curformat} package" -f PLIST \
-p ${DESTDIR} -s . ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz
PLIST.${_curformat}: ${DOC}.${_curformat}
@${ECHO_CMD} ${DOC}.${_curformat} > PLIST.${_curformat}
.endif
.if (${_cf} == "html-split" || ${_cf} == "html") && \
(!empty(LOCAL_IMAGES_LIB) || !empty(IMAGES_PNG) || !empty(CSS_SHEET))
@${ECHO_CMD} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${LOCAL_CSS_SHEET} | \
${XARGS} -n1 >> PLIST.${_curformat}
.elif (${_cf} == "tex" || ${_cf} == "dvi") && !empty(IMAGES_EPS)
@${ECHO_CMD} ${IMAGES_EPS} | ${XARGS} -n1 >> PLIST.${_curformat}
.elif ${_cf} == "pdb"
@${ECHO_CMD} ${.CURDIR:T}.${_curformat} >> PLIST.${_curformat}
.endif
${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz: PLIST.${_cf}
@${PKG_CREATE} -v -f ${.ALLSRC} -p ${DESTDIR} -s ${.OBJDIR} \
-c -"FDP ${.CURDIR:T} ${_curformat} package" \
-d -"FDP ${.CURDIR:T} ${_curformat} package" ${.TARGET}
package-${_curformat}: ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz
.endfor
docbook.css: ${CSS_SHEET}
cp ${CSS_SHEET} ${.CURDIR}/docbook.css
.if ${LOCAL_CSS_SHEET} != ${CSS_SHEET}
${LOCAL_CSS_SHEET}: ${CSS_SHEET}
${CP} -p ${.ALLSRC} ${.TARGET}
.endif

@ -1,5 +1,5 @@
#
# $FreeBSD: doc/share/mk/doc.html.mk,v 1.7 2001/03/22 22:49:01 obrien Exp $
# $FreeBSD$
#
# This include file <doc.html.mk> handles building and installing of
# HTML documentation in the FreeBSD Documentation Project.
@ -56,34 +56,63 @@ OPENJADE= yes
.endif
.if defined(OPENJADE)
NSGMLS?= onsgmls
SGMLNORM?= osgmlnorm
NSGMLS?= ${PREFIX}/bin/onsgmls
SGMLNORM?= ${PREFIX}/bin/osgmlnorm
.else
NSGMLS?= nsgmls
SGMLNORM?= sgmlnorm
NSGMLS?= ${PREFIX}/bin/nsgmls
SGMLNORM?= ${PREFIX}/bin/sgmlnorm
.endif
PKG_CREATE?= /usr/sbin/pkg_create
TAR?= /usr/bin/tar
XARGS?= /usr/bin/xargs
TIDY?= ${PREFIX}/bin/tidy
TIDYFLAGS?= -i -m -f /dev/null
HTML2TXT?= ${PREFIX}/bin/links
HTML2TXTFLAGS?= -dump
HTML2PDB?= ${PREFIX}/bin/iSiloBSD
HTML2PDBFLAGS?= -y -d0 -Idef
GZIP?= -9
GZIP_CMD?= gzip -qf ${GZIP}
BZIP2?= -9
BZIP2_CMD?= bzip2 -qf ${BZIP2}
ZIP?= -9
ZIP_CMD?= ${PREFIX}/bin/zip -j ${ZIP}
# ------------------------------------------------------------------------
#
.if ${.OBJDIR} != ${.CURDIR}
LOCAL_CSS_SHEET= ${.OBJDIR}/${CSS_SHEET:T}
.else
LOCAL_CSS_SHEET= ${CSS_SHEET:T}
.endif
.for _curformat in ${FORMATS}
_cf=${_curformat}
.if ${_cf} == "html"
_docs+= ${DOC}.html
CLEANFILES+= ${DOC}.html
.elif ${_cf} == "txt"
_docs+= ${DOC}.txt
CLEANFILES+= ${DOC}.html ${DOC}.txt
.elif ${_cf} == "tar"
_docs+= ${DOC}.tar
.elif ${_cf} == "pdb"
_docs+= ${DOC}.pdb ${.CURDIR:T}.pdb
+CLEANFILES+= ${DOC}.pdb ${.CURDIR:T}.pdb
.else
# Create a 'bogus' doc for any other format we don't support. This is so
# Create a 'bogus' doc for any format we support or not. This is so
# that we can fake up a target for it later on, and this target can print
# the warning message about the unsupported format.
_docs+= ${DOC}.${_curformat}
CLEANFILES+= ${DOC}.${_curformat}
CLEANFILES+= PLIST.${_curformat}
.if ${_cf} == "txt"
.if ${LOCAL_CSS_SHEET} != ${CSS_SHEET}
CLEANFILES+= ${LOCAL_CSS_SHEET}
.endif
.elif ${_cf} == "txt"
CLEANFILES+= ${DOC}.html
.elif ${_cf} == "pdb"
_docs+= ${.CURDIR:T}.pdb
CLEANFILES+= ${.CURDIR:T}.pdb
.endif
.endfor
@ -98,40 +127,51 @@ _docs+= ${DOC}.${_curformat}
.for _curformat in ${FORMATS}
_cf=${_curformat}
.for _curcomp in ${INSTALL_COMPRESSED}
.if ${_cf} != "html-split"
_curinst+= install-${_curformat}.${_curcomp}
_docs+= ${DOC}.${_curformat}.${_curcomp}
CLEANFILES+= ${DOC}.${_curformat}.${_curcomp}
.if ${_cf} == "pdb"
_docs+= ${.CURDIR:T}.${_curformat}.${_curcomp}
CLEANFILES+= ${.CURDIR:T}.${_curformat}.${_curcomp}
.endif
.endif
.endfor
.endfor
.endif
.for _curimage in ${IMAGES_LIB}
LOCAL_IMAGES_LIB += ${LOCAL_IMAGES_LIB_DIR}/${_curimage}
.endfor
.MAIN: all
all: ${_docs}
${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG}
${SGMLNORM} -c ${HTMLCATALOG} ${SRCS} > ${.TARGET}
${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET}
${SGMLNORM} -c ${HTMLCATALOG} ${SRCS:S|^|${.CURDIR}/|} > ${.TARGET}
.if !defined(NO_TIDY)
-tidy -i -m -f /dev/null ${TIDYFLAGS} ${.TARGET}
-${TIDY} ${TIDYFLAGS} ${.TARGET}
.endif
${DOC}.txt: ${DOC}.html
links -dump ${.ALLSRC} > ${.TARGET}
${HTML2TXT} ${HTML2TXTFLAGS} ${.ALLSRC} > ${.TARGET}
${DOC}.pdb: ${DOC}.html
iSiloBSD -y -d0 -Idef ${DOC}.html ${DOC}.pdb
${DOC}.pdb: ${DOC}.html ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG}
${HTML2PDB} ${HTML2PDBFLAGS} ${DOC}.html ${.TARGET}
${.CURDIR:T}.pdb: ${DOC}.pdb
ln -f ${DOC}.pdb ${.CURDIR}.pdb
${LN} -f ${.ALLSRC} ${.TARGET}
.if defined(INSTALL_COMPRESSED) && !empty(INSTALL_COMPRESSED)
.for _curcomp in ${INSTALL_COMPRESSED}
${.CURDIR:T}.pdb.${_curcomp}: ${DOC}.pdb.${_curcomp}
${LN} -f ${.ALLSRC} ${.TARGET}
.endfor
.endif
${DOC}.tar: ${SRCS}
tar cf ${.TARGET} ${.ALLSRC}
${DOC}.tar: ${SRCS} ${LOCAL_IMAGES} ${LOCAL_CSS_SHEET}
${TAR} cf ${.TARGET} -C ${.CURDIR} ${SRCS} \
-C ${.OBJDIR} ${IMAGES} ${CSS_SHEET:T}
#
# Build targets for any formats we've missed that we don't handle.
@ -139,10 +179,11 @@ ${DOC}.tar: ${SRCS}
.for _curformat in ${ALL_FORMATS}
.if !target(${DOC}.${_curformat})
${DOC}.${_curformat}:
@echo \"${_curformat}\" is not a valid output format for this document.
@${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document.
.endif
.endfor
# ------------------------------------------------------------------------
#
# Validation targets
@ -156,6 +197,7 @@ ${DOC}.${_curformat}:
lint validate:
${NSGMLS} -s -c ${HTMLCATALOG} ${MASTERDOC}
# ------------------------------------------------------------------------
#
# Compress targets
@ -177,13 +219,13 @@ KNOWN_COMPRESS= gz bz2 zip
#
_PROG_COMPRESS_gz: .USE
gzip -9 -c ${.ALLSRC} > ${.TARGET}
${GZIP_CMD} < ${.ALLSRC} > ${.TARGET}
_PROG_COMPRESS_bz2: .USE
bzip2 -9 -c ${.ALLSRC} > ${.TARGET}
${BZIP2_CMD} < ${.ALLSRC} > ${.TARGET}
_PROG_COMPRESS_zip: .USE
zip -j -9 ${.TARGET} ${.ALLSRC}
${ZIP_CMD} ${.TARGET} ${.ALLSRC}
#
# Build a list of targets for each compression scheme and output format.
@ -203,7 +245,7 @@ ${DOC}.${_cf}.${_curcompress}: ${DOC}.${_cf} _PROG_COMPRESS_${_curcompress}
.for _curcompress in ${KNOWN_COMPRESS}
.if !target(${DOC}.${_curformat}.${_curcompress})
${DOC}.${_curformat}.${_curcompress}:
@echo \"${_curformat}.${_curcompress}\" is not a valid output format for this document.
@${ECHO_CMD} \"${_curformat}.${_curcompress}\" is not a valid output format for this document.
.endif
.endfor
.endfor
@ -233,29 +275,36 @@ realinstall: ${_curinst}
.for _curformat in ${KNOWN_FORMATS}
_cf=${_curformat}
.if !target(install-${_cf})
install-${_cf}: ${DOC}.${_cf}
@[ -d ${DESTDIR} ] || mkdir -p ${DESTDIR}
install-${_curformat}: ${DOC}.${_curformat}
@[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR}
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
.if !empty(CSS_SHEET)
${INSTALL_DOCS} ${CSS_SHEET} ${DESTDIR}
.endif
.for _curimage in ${IMAGES_LIB}
@[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || mkdir -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
${INSTALL_DOCS} ${LOCAL_IMAGES_LIB_DIR}/${_curimage} ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
@[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \
${MKDIR} -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
${INSTALL_DOCS} ${LOCAL_IMAGES_LIB_DIR}/${_curimage} \
${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
.endfor
# Install the images. First, loop over all the image names that contain a
# directory seperator, make the subdirectories, and install. Then loop over
# the ones that don't contain a directory separator, and install them in the
# top level.
.for _curimage in ${IMAGES_PNG:M*/*}
mkdir -p ${DESTDIR}/${_curimage:H}
${INSTALL_DOCS} ${_curimage} ${DESTDIR}/${_curimage:H}
${MKDIR} -p ${DESTDIR}/${_curimage:H}
${INSTALL_DOCS} ${.CURDIR}/${_curimage} ${DESTDIR}/${_curimage:H}
.endfor
.for _curimage in ${IMAGES_PNG:N*/*}
${INSTALL_DOCS} ${_curimage} ${DESTDIR}
${INSTALL_DOCS} ${.CURDIR}/${_curimage} ${DESTDIR}
.endfor
.if ${_cf} == "pdb"
${LN} -f ${DESTDIR}/${.ALLSRC} ${DESTDIR}/${.CURDIR:T}.${_curformat}
.endif
.for _compressext in ${KNOWN_COMPRESS}
install-${_cf}.${_compressext}: ${DOC}.${_cf}.${_compressext}
@[ -d ${DESTDIR} ] || mkdir -p ${DESTDIR}
@[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR}
${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR}
.endfor
.endif
@ -268,15 +317,16 @@ install-${_cf}.${_compressext}: ${DOC}.${_cf}.${_compressext}
.for _curformat in ${ALL_FORMATS}
.if !target(install-${_curformat})
install-${_curformat}:
@echo \"${_curformat}\" is not a valid output format for this document.
@${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document.
.for _compressext in ${KNOWN_COMPRESS}
install-${_curformat}.${_compressext}:
@echo \"${_curformat}.${_compressext}\" is not a valid output format for this document.
@${ECHO_CMD} \"${_curformat}.${_compressext}\" is not a valid output format for this document.
.endfor
.endif
.endfor
# ------------------------------------------------------------------------
#
# Package building
@ -293,7 +343,7 @@ install-${_curformat}.${_compressext}:
realpackage: ${FORMATS:S/^/package-/}
packagelist:
@echo ${FORMATS:S/^/package-/}
@${ECHO_CMD} ${FORMATS:S/^/package-/}
#
# Build a list of package targets for each output target. Each package
@ -302,9 +352,36 @@ packagelist:
.for _curformat in ${KNOWN_FORMATS}
_cf=${_curformat}
package-${_curformat}: install-${_curformat}
@echo ${DOC}.${_curformat} > PLIST
@pkg_create -v -c -"FDP ${.CURDIR:T} ${_curformat} package" \
-d -"FDP ${.CURDIR:T} ${_curformat} package" -f PLIST \
-p ${DESTDIR} ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz
PLIST.${_curformat}: ${DOC}.${_curformat}
@${ECHO_CMD} ${DOC}.${_curformat} > PLIST.${_curformat}
.if ${_cf} == "html" && \
(!empty(LOCAL_IMAGES_LIB) || !empty(IMAGES_PNG) || !empty(CSS_SHEET))
@${ECHO_CMD} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${CSS_SHEET} | \
${XARGS} -n1 >> PLIST.${_curformat}
.elif ${_cf} == "pdb"
@${ECHO_CMD} ${.CURDIR:T}.${_curformat} >> PLIST.${_curformat}
.endif
${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz: PLIST.${_curformat}
@${PKG_CREATE} -v -f PLIST.${_curformat} -p ${DESTDIR} -s ${.OBJDIR} \
-c -"FDP ${.CURDIR:T} ${_curformat} package" \
-d -"FDP ${.CURDIR:T} ${_curformat} package" ${.TARGET}
package-${_curformat}: ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz
.endfor
#
# Build install- targets for any formats we've missed that we don't handle.
#
.for _curformat in ${ALL_FORMATS}
.if !target(package-${_curformat})
package-${_curformat}:
@${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document.
.endif
.endfor
.if ${LOCAL_CSS_SHEET} != ${CSS_SHEET}
${LOCAL_CSS_SHEET}: ${CSS_SHEET}
${CP} -p ${.ALLSRC} ${.TARGET}
.endif

@ -1,5 +1,5 @@
#
# $FreeBSD: doc/share/mk/doc.images.mk,v 1.10 2001/07/13 12:09:59 nik Exp $
# $FreeBSD$
#
# This include file <doc.images.mk> handles image processing.
#
@ -47,14 +47,42 @@
# to PDF, and hopefully get better quality.
#
IMAGES_GEN_PNG=${IMAGES:M*.eps:S/.eps$/.png/}
IMAGES_GEN_EPS=${IMAGES:M*.png:S/.png$/.eps/}
IMAGES_GEN_PDF=${IMAGES:M*.eps:S/.eps$/.pdf/}
_IMAGES_PNG= ${IMAGES:M*.png}
_IMAGES_EPS= ${IMAGES:M*.eps}
_IMAGES_SCR= ${IMAGES:M*.scr}
IMAGES_GEN_PNG= ${_IMAGES_EPS:S/.eps$/.png/}
IMAGES_GEN_EPS= ${_IMAGES_PNG:S/.png$/.eps/}
IMAGES_GEN_PDF= ${_IMAGES_EPS:S/.eps$/.pdf/}
IMAGES_SCR_PNG= ${_IMAGES_SCR:S/.scr$/.png/}
IMAGES_SCR_EPS= ${_IMAGES_SCR:S/.scr$/.eps/}
CLEANFILES+= ${IMAGES_GEN_PNG} ${IMAGES_GEN_EPS} ${IMAGES_GEN_PDF}
CLEANFILES+= ${IMAGES_SCR_PNG} ${IMAGES_SCR_EPS}
IMAGES_PNG= ${_IMAGES_PNG} ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG}
IMAGES_EPS= ${_IMAGES_EPS} ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS}
.if ${.OBJDIR} != ${.CURDIR}
LOCAL_IMAGES= ${IMAGES:S|^|${.OBJDIR}/|}
CLEANFILES+= ${LOCAL_IMAGES}
.if !empty(_IMAGES_PNG)
LOCAL_IMAGES_PNG= ${_IMAGES_PNG:S|^|${.OBJDIR}/|}
.endif
IMAGES_PNG=${IMAGES:M*.png} ${IMAGES_GEN_PNG} ${IMAGES:M*.scr:S/.scr$/.png/}
IMAGES_EPS=${IMAGES:M*.eps} ${IMAGES_GEN_EPS} ${IMAGES:M*.scr:S/.scr$/.eps/}
.if !empty(_IMAGES_EPS)
LOCAL_IMAGES_EPS= ${_IMAGES_EPS:S|^|${.OBJDIR}/|}
.endif
.else
LOCAL_IMAGES= ${IMAGES}
LOCAL_IMAGES_PNG= ${_IMAGES_PNG}
LOCAL_IMAGES_EPS= ${_IMAGES_EPS}
.endif
LOCAL_IMAGES_PNG+= ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG}
LOCAL_IMAGES_EPS+= ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS}
# The default resolution eps2png (82) assumes a 640x480 monitor, and is too
# low for the typical monitor in use today. The resolution of 100 looks
@ -67,13 +95,22 @@ EPS2PNG_RES?= 100
# then we can use them directly, and don't need to list them.
IMAGES_PDF=${IMAGES_GEN_PDF}
SCR2PNG?= ${PREFIX}/bin/scr2png
EPS2PNG?= ${PREFIX}/bin/peps
EPS2PNGFLAGS?= -p -r ${EPS2PNG_RES}
PNGTOPNM?= ${PREFIX}/bin/pngtopnm
PNMTOPS?= ${PREFIX}/bin/pnmtops
PNMTOPSFLAGS?= -noturn
EPSTOPDF?= ${PREFIX}/bin/epstopdf
# Use suffix rules to convert .scr files to .png files
.SUFFIXES: .scr .png .eps
.scr.png:
scr2png < ${.IMPSRC} > ${.TARGET}
${SCR2PNG} < ${.IMPSRC} > ${.TARGET}
.scr.eps:
scr2png < ${.ALLSRC} | pngtopnm | pnmtops -noturn > ${.TARGET}
${SCR2PNG} < ${.ALLSRC} | ${PNGTOPNM} | \
${PNMTOPS} ${PNMTOPSFLAGS} > ${.TARGET}
# We can't use suffix rules to generate the rules to convert EPS to PNG and
# PNG to EPS. This is because a .png file can depend on a .eps file, and
@ -82,19 +119,26 @@ IMAGES_PDF=${IMAGES_GEN_PDF}
.for _curimage in ${IMAGES_GEN_PNG}
${_curimage}: ${_curimage:S/.png$/.eps/}
peps -r ${EPS2PNG_RES} -p -o ${.TARGET} ${.ALLSRC}
${EPS2PNG} ${EPS2PNGFLAGS} -o ${.TARGET} ${.ALLSRC}
.endfor
.for _curimage in ${IMAGES_GEN_EPS}
${_curimage}: ${_curimage:S/.eps$/.png/}
pngtopnm ${.ALLSRC} | pnmtops -noturn > ${.TARGET}
${PNGTOPNM} ${.ALLSRC} | ${PNMTOPS} ${PNMTOPSFLAGS} > ${.TARGET}
.endfor
.for _curimage in ${IMAGES_GEN_PDF}
${_curimage}: ${_curimage:S/.pdf$/.eps/}
epstopdf --outfile=${.TARGET} ${_curimage:S/.pdf$/.eps/}
${EPSTOPDF} --outfile=${.TARGET} ${.CURDIR}/${_curimage:S/.pdf$/.eps/}
.endfor
.if ${.OBJDIR} != ${.CURDIR}
.for _curimage in ${IMAGES}
${.OBJDIR}/${_curimage}: ${_curimage}
${CP} -p ${.ALLSRC} ${.TARGET}
.endfor
.endif
#
# Using library images
# --------------------
@ -111,6 +155,9 @@ ${_curimage}: ${_curimage:S/.pdf$/.eps/}
# as necessary.
#
IMAGES_LIB?=
LOCAL_IMAGES_LIB ?=
#
# The name of the directory that contains all the library images for this
# language and encoding
@ -126,16 +173,21 @@ IMAGES_LIB_DIR?= ${.CURDIR}/../../share/images
#
LOCAL_IMAGES_LIB_DIR?= imagelib
CP?= /bin/cp
MKDIR?= /bin/mkdir
#
# Create a target for each image used from the library. This target just
# ensures that each image required is copied from its location in
# ${IMAGES_LIB_DIR} to the same place in ${LOCAL_IMAGES_LIB_DIR}.
#
.for _curimage in ${IMAGES_LIB}
LOCAL_IMAGES_LIB += ${LOCAL_IMAGES_LIB_DIR}/${_curimage}
${LOCAL_IMAGES_LIB_DIR}/${_curimage}: ${IMAGES_LIB_DIR}/${_curimage}
@[ -d ${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || ${MKDIR} -p ${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
${INSTALL} -C -c ${IMAGES_LIB_DIR}/${_curimage} ${LOCAL_IMAGES_LIB_DIR}/${_curimage}
@[ -d ${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \
${MKDIR} ${LOCAL_IMAGES_LIB_DIR}/${_curimage:H}
${CP} -p ${IMAGES_LIB_DIR}/${_curimage} \
${LOCAL_IMAGES_LIB_DIR}/${_curimage}
.endfor
.if !empty(IMAGES_LIB)
CLEANFILES+= ${IMAGES_LIB:S|^|${LOCAL_IMAGES_LIB_DIR}/|}
.endif

@ -1,5 +1,5 @@
#
# $FreeBSD: doc/share/mk/doc.install.mk,v 1.3 1999/09/09 17:11:28 wosch Exp $
# $FreeBSD$
#
#
# This include file <doc.install.mk> provides variables defining the default
@ -80,7 +80,7 @@ DOCDIR?= /usr/share/doc
.if exists(${DOC_PREFIX}/packages)
PACKAGES?= ${DOC_PREFIX}/packages
.else
PACKAGES?= ${.CURDIR}
PACKAGES?= ${.OBJDIR}
.endif
# hack to set DOCOWN and DOCGRP to those of the user installing, if that
@ -99,7 +99,25 @@ DOCGRP:= ${GROUPNAME}
.endif
.endif
COPY?= -C
# installation "script"
INSTALL_DOCS?= \
${INSTALL} -C ${INSTALL_FLAGS} -o ${DOCOWN} -g ${DOCGRP} -m ${DOCMODE}
${INSTALL} ${COPY} ${INSTALL_FLAGS} -o ${DOCOWN} -g ${DOCGRP} -m ${DOCMODE}
# ------------------------------------------------------------------------
#
# Work out the language and encoding used for this document.
#
# Liberal default of maximum of 5 directories below to find it.
#
.if !defined(LANGCODE)
LANGCODE:= ${.CURDIR}
.for _ in 1 2 3 4 5 6 7 8 9 10
.if !(${LANGCODE:H:T} == "doc")
LANGCODE:= ${LANGCODE:H}
.endif
.endfor
LANGCODE:= ${LANGCODE:T}
.endif

@ -1,5 +1,5 @@
#
# $FreeBSD: doc/share/mk/doc.project.mk,v 1.8 2001/03/13 09:54:34 nik Exp $
# $FreeBSD$
#
# This include file <doc.project.mk> is the FreeBSD Documentation Project
# co-ordination make file.
@ -68,10 +68,19 @@ LOCALBASE?= /usr/local
PREFIX?= ${LOCALBASE}
PRI_LANG?= en_US.ISO8859-1
CP?= /bin/cp
LN?= /bin/ln
MKDIR?= /bin/mkdir -p
RM?= /bin/rm
MV?= /bin/mv
# Image processing (contains code used by the doc.<format>.mk files, so must
# be listed first).
.include "doc.images.mk"
# Ownership information.
.include "doc.install.mk"
# Format-specific configuration
.if defined(DOC)
.if ${DOCFORMAT} == "docbook"
@ -82,7 +91,5 @@ PRI_LANG?= en_US.ISO8859-1
.endif
.endif
# Subdirectory glue and ownership information.
# Subdirectory glue.
.include "doc.subdir.mk"
.include "doc.install.mk"

@ -1,7 +1,7 @@
# Taken from:
# Id: bsd.subdir.mk,v 1.27 1999/03/21 06:43:40 bde
#
# $FreeBSD: doc/share/mk/doc.subdir.mk,v 1.5 2000/10/29 02:39:10 nik Exp $
# $FreeBSD$
#
# This include file <doc.subdir.mk> contains the default targets
# for building subdirectories in the FreeBSD Documentation Project.
@ -51,24 +51,6 @@
.include "${.CURDIR}/../Makefile.inc"
.endif
# ------------------------------------------------------------------------
#
# Work out the language and encoding used for this document.
#
# Liberal default of maximum of 5 directories below to find it.
#
.if !defined(LANGCODE)
LANGCODE:= ${.CURDIR}
.for _ in 1 2 3 4 5 6 7 8 9 10
.if !(${LANGCODE:H:T} == "doc")
LANGCODE:= ${LANGCODE:H}
.endif
.endfor
LANGCODE:= ${LANGCODE:T}
.endif
.if !target(install)
install: afterinstall symlinks
afterinstall: realinstall
@ -79,7 +61,8 @@ package: realpackage symlinks
realpackage: _SUBDIRUSE
.if !defined(IGNORE_COMPAT_SYMLINK) && defined(COMPAT_SYMLINK)
SYMLINKS+= ${DOCDIR} ${.CURDIR:T:ja_JP.eucJP=ja} ${COMPAT_SYMLINK:ja=ja_JP.eucJP}
SYMLINKS+= ${DOCDIR} ${.CURDIR:T:ja_JP.eucJP=ja} \
${COMPAT_SYMLINK:ja=ja_JP.eucJP}
.endif
.if defined(PRI_LANG) && defined(ROOT_SYMLINKS) && !empty(ROOT_SYMLINKS)
@ -93,11 +76,11 @@ SYMLINKS+= ${DOCDIR} ${LANGCODE:ja_JP.eucJP=ja}/${.CURDIR:T}/${_tmp} ${_tmp}
.if !target(symlinks)
symlinks:
.if defined(SYMLINKS) && !empty(SYMLINKS)
@set `echo ${SYMLINKS}`; \
@set $$(${ECHO_CMD} ${SYMLINKS}); \
while : ; do \
case $$# in \
0) break;; \
[12]) echo "warn: empty SYMLINKS: $$1 $$2"; break;; \
[12]) ${ECHO_CMD} "warn: empty SYMLINKS: $$1 $$2"; break;; \
esac; \
d=$$1; shift; \
l=$$1; shift; \
@ -106,8 +89,8 @@ symlinks:
${ECHO} "$${d}/$${l} doesn't exist, not linking"; \
else \
${ECHO} $${d}/$${t} -\> $${d}/$${l}; \
(cd $${d} && rm -rf $${t}); \
(cd $${d} && ln -s $${l} $${t}); \
(cd $${d} && ${RM} -rf $${t}); \
(cd $${d} && ${LN} -s $${l} $${t}); \
fi; \
done
.endif
@ -121,9 +104,10 @@ ${__target}:
_SUBDIRUSE: .USE
.for entry in ${SUBDIR}
@${ECHO} "===> ${DIRPRFX}${entry}"
@(cd ${.CURDIR}/${entry} && \
${MAKE} ${.TARGET:S/realpackage/package/:S/realinstall/install/} DIRPRFX=${DIRPRFX}${entry}/ )
@${ECHODIR} "===> ${DIRPRFX}${entry}"
@cd ${.CURDIR}/${entry} && \
${MAKE} ${.TARGET:S/realpackage/package/:S/realinstall/install/} \
DIRPRFX=${DIRPRFX}${entry}/
.endfor
.if !defined(NOINCLUDEMK)
@ -136,8 +120,7 @@ _SUBDIRUSE: .USE
.MAIN: all
${SUBDIR}::
cd ${.CURDIR}/${.TARGET}
${MAKE} all
@cd ${.CURDIR}/${.TARGET} && ${MAKE} all
.for __target in all cleandir lint objlink install
.if !target(${__target})
@ -147,10 +130,10 @@ ${__target}: _SUBDIRUSE
.if !target(obj)
obj: _SUBDIRUSE
@if ! test -d ${CANONICALOBJDIR}/; then \
mkdir -p ${CANONICALOBJDIR}; \
if ! test -d ${CANONICALOBJDIR}/; then \
${ECHO} "Unable to create ${CANONICALOBJDIR}."; \
@if ! [ -d ${CANONICALOBJDIR}/ ]; then \
${MKDIR} -p ${CANONICALOBJDIR}; \
if ! [ -d ${CANONICALOBJDIR}/ ]; then \
${ECHO_CMD} "Unable to create ${CANONICALOBJDIR}."; \
exit 1; \
fi; \
${ECHO} "${CANONICALOBJDIR} created ${.CURDIR}"; \
@ -159,40 +142,67 @@ obj: _SUBDIRUSE
.if !target(objlink)
objlink: _SUBDIRUSE
@if test -d ${CANONICALOBJDIR}/; then \
rm -f ${.CURDIR}/obj; \
ln -s ${CANONICALOBJDIR} ${.CURDIR}/obj; \
@if [ -d ${CANONICALOBJDIR}/ ]; then \
${RM} -f ${.CURDIR}/obj; \
${LN} -s ${CANONICALOBJDIR} ${.CURDIR}/obj; \
else \
echo "No ${CANONICALOBJDIR} to link to - do a make obj."; \
${ECHO_CMD} "No ${CANONICALOBJDIR} to link to - do a make obj."; \
fi
.endif
.if !target(whereobj)
whereobj:
@echo ${.OBJDIR}
@${ECHO_CMD} ${.OBJDIR}
.endif
cleanobj:
@if [ -d ${CANONICALOBJDIR}/ ]; then \
rm -rf ${CANONICALOBJDIR}; \
${RM} -rf ${CANONICALOBJDIR}; \
else \
cd ${.CURDIR} && ${MAKE} clean cleandepend; \
fi
@if [ -h ${.CURDIR}/obj ]; then rm -f ${.CURDIR}/obj; fi
@if [ -h ${.CURDIR}/obj ]; then ${RM} -f ${.CURDIR}/obj; fi
.if !target(clean)
clean: _SUBDIRUSE
.if defined(CLEANFILES) && !empty(CLEANFILES)
rm -f ${CLEANFILES}
${RM} -f ${CLEANFILES}
.endif
.if defined(CLEANDIRS) && !empty(CLEANDIRS)
rm -rf ${CLEANDIRS}
${RM} -rf ${CLEANDIRS}
.endif
.if defined(IMAGES_LIB) && !empty(LOCAL_IMAGES_LIB_DIR)
rm -rf ${LOCAL_IMAGES_LIB_DIR}
${RM} -rf ${LOCAL_IMAGES_LIB_DIR}
.endif
.endif
cleandir: cleanobj _SUBDIRUSE
.endif # end of NOINCLUDEMK section
#
# Create /usr/obj image subdirs when ${IMAGES} contains subdir/image.xxx
#
_imagesubdir=
.for _imagedir in ${IMAGES:H}
.if ${_imagesubdir:M${_imagedir}} == ""
_imagesubdir+= ${_imagedir}
.endif
.endfor
.if ${_imagesubdir} != ""
_IMAGESUBDIR: .USE
.for dir in ${_imagesubdir}
@if ! [ -d ${CANONICALOBJDIR}/${dir}/ ]; then \
${MKDIR} -p ${CANONICALOBJDIR}/${dir}; \
if ! [ -d ${CANONICALOBJDIR}/${dir}/ ]; then \
${ECHO_CMD} "Unable to create ${CANONICALOBJDIR}/${dir}/."; \
exit 1; \
fi; \
${ECHO} "${CANONICALOBJDIR}/${dir}/ created for ${.CURDIR}"; \
fi
.endfor
obj: _IMAGESUBDIR
.endif

Loading…
Cancel
Save