diff options
| author | Nik Clayton <nik@FreeBSD.org> | 1998-11-12 01:20:35 +0000 |
|---|---|---|
| committer | Nik Clayton <nik@FreeBSD.org> | 1998-11-12 01:20:35 +0000 |
| commit | 80e2e9e012d88a55af39b9e3bc4983fe390f1173 (patch) | |
| tree | b9447f0c0537b7d999809ce199cf2dd0051a36f1 /en | |
| parent | 3d32f7a99c73e29996095304ec228fbaa04c8e4a (diff) | |
Notes
Diffstat (limited to 'en')
| -rw-r--r-- | en/handbook/Makefile | 164 |
1 files changed, 105 insertions, 59 deletions
diff --git a/en/handbook/Makefile b/en/handbook/Makefile index fdf2189783..e2941df456 100644 --- a/en/handbook/Makefile +++ b/en/handbook/Makefile @@ -1,74 +1,111 @@ -# Makefile to build the Handbook from DocBook source. +# +# $Id: Makefile,v 1.5 1998-11-12 01:20:35 nik Exp $ # -# Requires these ports from textproc +# Build the FreeBSD Handbook. Will eventually split in two, a generic .mk +# file which can be used by many Makefiles, and a much smaller Makefile +# which uses the generic.mk file. # -# docbook -# dsssl-docbook-modular -# html -# jade +# Note: Doing all this in a Makefile is a little odd. This is because there +# is typically not a 1:1 mapping between the .sgml files and the .html, +# .rtf, .ps, and other formats. For most of them, all the .sgml files will +# become one file in the chosen output format. For HTML, many .html files +# will be produced, but they won't be named after the corresponding .sgml +# files. + +MAINTAINER=nik@FreeBSD.ORG + # -# and probably one or two others. You can probably get everything you need -# with the new textproc/docproj meta-port. +# DOC is the root name of file(s) that will be generated (i.e, for +# foo.rtf, foo.ps, etc, DOC=foo. HTML generation ignores this, it +# is assumed that the stylesheet names this. If not set, DOC defaults +# to the name of the current directory. # -# Note that you need version 1.08 of dsssl-docbook-modular. In version 1.07 -# the 'catalog' file is called 'CATALOG', and you will need to change the -# definition below. +DOC?= ${.CURDIR:T} + # -# THIS IS A QUICK HACK (!) so that others can get an idea of how the -# Handbook will look after conversion. After typing "make", point your -# browser at book01.html and read on. This is still very much a work in -# progress, and the final formatting will be considerably different. +# FORMATS lists the output formats that should be generated. Valid values +# are # -# Eventually I expect most of this will be folded back into bsd.sgml.mk. +# ascii html ps pdf rtf # -# Any comments or suggestions about the conversion process should be sent -# to nik@FreeBSD.ORG +FORMATS= html + +# +# SRCS lists the individual SGML files that make up the Handbook. Changes +# to any of these files will force a rebuild # -MAINTAINER=nik@FreeBSD.ORG +# SGML content +SRCS= handbook.sgml +SRCS+= advanced-networking/chapter.sgml +SRCS+= backups/chapter.sgml +SRCS+= basics/chapter.sgml +SRCS+= bibliography/chapter.sgml +SRCS+= contrib/chapter.sgml +SRCS+= cutting-edge/chapter.sgml +SRCS+= disks/chapter.sgml +SRCS+= eresources/chapter.sgml +SRCS+= hw/chapter.sgml +SRCS+= install/chapter.sgml +SRCS+= internals/chapter.sgml +SRCS+= introduction/chapter.sgml +SRCS+= kernelconfig/chapter.sgml +SRCS+= kerneldebug/chapter.sgml +SRCS+= kernelopts/chapter.sgml +SRCS+= l10n/chapter.sgml +SRCS+= linuxemu/chapter.sgml +SRCS+= mail/chapter.sgml +SRCS+= mirrors/chapter.sgml +SRCS+= pgpkeys/chapter.sgml +SRCS+= policies/chapter.sgml +SRCS+= ppp-and-slip/chapter.sgml +SRCS+= printing/chapter.sgml +SRCS+= quotas/chapter.sgml +SRCS+= security/chapter.sgml +SRCS+= serialcomms/chapter.sgml +SRCS+= staff/chapter.sgml +SRCS+= x11/chapter.sgml +SRCS+= ports/chapter.sgml -DOCS= handbook.sgml +# Entities +SRCS+= authors.ent chapters.ent mailing-lists.ent -# ------------------------------------------------------------------------ -# -# Transformation rules -# -# file.sgml --> file.html -# -# Examines file.sgml to determine the DTD in use. The DTD determines how -# the file will be converted to HTML. +JADE= /usr/local/bin/jade +DSLHTML= ../../sgml/freebsd.dsl +DSLPRINT= /usr/local/share/sgml/docbook/dsssl/modular/print/docbook.dsl -.SUFFIXES: .sgml .html -SGMLNORM?= /usr/local/bin/sgmlnorm -HTMLCATALOG?= /usr/local/share/sgml/html/catalog -SGMLNORMFLAGS= -d -n -c ${HTMLCATALOG} +FREEBSDCATALOG= ../../sgml/catalog +DOCBOOKCATALOG= /usr/local/share/sgml/docbook/3.0/catalog +JADECATALOG= /usr/local/share/sgml/jade/catalog +DSSSLCATALOG= /usr/local/share/sgml/docbook/dsssl/modular/catalog -JADE?= /usr/local/bin/jade -DSL?= ../../sgml/freebsd.dsl -FREEBSDCATALOG?=../../sgml/catalog -DOCBOOKCATALOG?=/usr/local/share/sgml/docbook/3.0/catalog -JADECATALOG?= /usr/local/share/sgml/jade/catalog -DSSSLCATALOG?= /usr/local/share/sgml/docbook/dsssl/modular/catalog -JADEFLAGS?= -c ${FREEBSDCATALOG} -c ${DSSSLCATALOG} -c ${DOCBOOKCATALOG} -c ${JADECATALOG} -d ${DSL} -t sgml +JADEFLAGS?= -c ${FREEBSDCATALOG} -c ${DSSSLCATALOG} -c ${DOCBOOKCATALOG} -c ${JADECATALOG} -.sgml.html: - @DTD=`head -n 1 ${.IMPSRC} | perl -ne '/DTD (\w+)/; print $$1;'`; \ - echo "${.IMPSRC} ($$DTD) --> ${.TARGET}"; \ - case $$DTD in \ - HTML) \ - ${SGMLNORM} ${SGMLNORMFLAGS} \ - ${.IMPSRC} > ${.TARGET}; \ - ;; \ - DocBook) \ - ${JADE} ${JADEFLAGS} ${.IMPSRC}; \ - ;; \ - *) \ - echo "Don't know how to process $$DTD." \ - ;; \ - esac +# ------------------------------------------------------------------------ +# +# Look at ${FORMATS} and work out which documents need to be generated. +# It is assumed that the HTML transformation will always create a file +# called index.html, and that for every other transformation the name +# of the generated file is ${DOC}.format. +# +# ${_docs} will be set to a list of all documents that must be made +# up to date. + +.for _curformat in ${FORMATS} +_cf=${_curformat} +.if ${_cf} == "html" +_docs+= index.html +CLEANFILES+= *.html HTML.manifest +.else +_docs+= ${DOC}.${_curformat} +CLEANFILES+= ${DOC}.${_curformat} +.endif +.endfor -# ${SGMLNORM} ${SGMLNORMFLAGS} ${.IMPSRC} > ${.TARGET} +# ------------------------------------------------------------------------ +# +# Build some targets # ------------------------------------------------------------------------ # @@ -78,8 +115,17 @@ JADEFLAGS?= -c ${FREEBSDCATALOG} -c ${DSSSLCATALOG} -c ${DOCBOOKCATALOG} -c ${JA # If no target is specifed then .MAIN is made .MAIN: all -# -# Build everything. Never completes, because handbook.html is never built -# -all: handbook.html +all: ${_docs} + +index.html: ${SRCS} + ${JADE} ${JADEFLAGS} -d ${DSLHTML} -t sgml handbook.sgml + ./conv.pl *.html + +${DOC}.rtf: ${SRCS} + ${JADE} ${JADEFLAGS} -d ${DSLPRINT} -t rtf handbook.sgml + +${DOC}.tex: ${SRCS} + ${JADE} ${JADEFLAGS} -d ${DSLPRINT} -t tex handbook.sgml +.include <bsd.dep.mk> +.include <bsd.obj.mk> |
