summaryrefslogtreecommitdiff
path: root/en
diff options
context:
space:
mode:
authorNik Clayton <nik@FreeBSD.org>1998-11-12 01:20:35 +0000
committerNik Clayton <nik@FreeBSD.org>1998-11-12 01:20:35 +0000
commit80e2e9e012d88a55af39b9e3bc4983fe390f1173 (patch)
treeb9447f0c0537b7d999809ce199cf2dd0051a36f1 /en
parent3d32f7a99c73e29996095304ec228fbaa04c8e4a (diff)
Notes
Diffstat (limited to 'en')
-rw-r--r--en/handbook/Makefile164
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>