-# Makefile, used for the DDP manuals.sgml area
+# Makefile, used for the developers-reference in DocBook XML
-MANUAL := $(notdir $(shell pwd))
-PUBLISHDIR := /org/www.debian.org/www/doc/manuals
-
-SOURCES := $(wildcard *.sgml)
+SOURCES := $(wildcard *.dbk)
LANGS := fr
TARGETS := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \
make_directory := install -d -m 755
install_file := install -m 644 -p
-MAX_TEX_RECURSION := 5
+XP=xsltproc --nonet --novalid --xinclude
+
+XL=xmllint --nonet --noout --postvalid --xinclude
+
+# note: the URL is used as identifier, no HTTP is used!
+DOCBOOK_XSL=http://docbook.sourceforge.net/release/xsl/current
+
+# one file per chapter
+DBK2HTML=--stringparam chunk.section.depth 0 \
+ --stringparam section.autolabel 1 \
+ --stringparam use.id.as.filename 1 \
+ $(DOCBOOK_XSL)/xhtml/chunk.xsl
+
+# all in one file
+DBK2HTML1=--stringparam section.autolabel 1 \
+ $(DOCBOOK_XSL)/xhtml/docbook.xsl
+
+DBK2FO=--stringparam double.sided 1 \
+ --stringparam draft.mode no \
+ --stringparam paper.type A4 \
+ $(DOCBOOK_XSL)/fo/docbook.xsl
+# fop is currently in contrib, but can go to main now, AFAIK
+# alternatives: docbook2pdf (seems to die on UTF-8), dblatex (0.2.4
+# just hangs here) and xmllint (not mature enough, waits in NEW)
+FOP=fop
.PHONY: all dropold
all: $(TARGETS) dropold
dropold:
-rm -rf developers-reference.ja.html
-
.PHONY: validate
-validate: $(addsuffix .validate,$(SOURCES))
-
-# hmmm, this rule may need to be revised/tested
-.PHONY: publish
-publish: all
- [ -d $(PUBLISHDIR) ] || exit 1
- rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
- $(make_directory) $(PUBLISHDIR)/$(MANUAL)
- $(install_file) developers-reference*.html/*.html developers-reference*pdf \
- $(PUBLISHDIR)/$(MANUAL)
- ln -sf index.en.html $(PUBLISHDIR)/$(MANUAL)/index.html
- ln -sf developers-reference.pdf $(PUBLISHDIR)/$(MANUAL)/developers-reference.en.pdf
-
-developers-reference.html: developers-reference.sgml
- $(htmllink)
- $(DEBIANDOC2HTML) -l en $<
+validate:
+ $(XL) index.dbk
-developers-reference.html/*: developers-reference.html
+.PHONY: developers-reference.html
+developers-reference.html: $(SOURCES)
+ $(XP) $(DBK2HTML) index.dbk
developers-reference.%.html: developers-reference.%.sgml
$(htmllink)
$(DEBIANDOC2HTML) -l $* $<
-developers-reference.txt: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2TEXT) -l en -O $< > $@
+developers-reference.txt: $(SOURCES)
+ $(XP) $(DBK2HTML1) index.dbk \
+ | w3m -cols 65 -dump -T text/html > $@
developers-reference.%.txt: developers-reference.%.sgml
$(nohtmllink)
$(DEBIANDOC2TEXT) -l $* -O $< > $@
-developers-reference.tex: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2LATEX) -l en -O $< > $@
+developers-reference.fo: $(SOURCES)
+ $(XP) $(DBK2FO) index.dbk > $@
-developers-reference.%.tex: developers-reference.%.sgml
- $(nohtmllink)
- $(DEBIANDOC2LATEX) -l $* -O $< > $@
-
-developers-reference.ps: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2PS) -l en $<
-
-developers-reference.%.ps: developers-reference.%.sgml
- $(nohtmllink)
- $(DEBIANDOC2PS) -l $* $<
-
-developers-reference.pdf: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2PDF) -l en $<
+developers-reference.pdf: developers-reference.fo
+ $(FOP) -fo $< -pdf $@
developers-reference.%.pdf: developers-reference.%.sgml
$(nohtmllink)
nsgmls -wall -gues $<
touch $@
-USERMAP := ../../ddp/CVSROOT/users
-.PHONY: prepare
-prepare: ChangeLog
- cvs ci -m "update for next release" ChangeLog
-
-.PHONY: ChangeLog
-ChangeLog:
- @[ -f CVS/Root -a -f $(USERMAP) ] || \
- ( echo "usermap file '$(USERMAP)' not found" 1>&2; exit 1 )
- cvs2cl -r --usermap $(USERMAP)
-
.PHONY: clean
clean:
- rm -rf developers-reference*.html
- rm -f developers-reference*.txt developers-reference*.pdf \
- developers-reference*.ps developers-reference*.lout* lout.li \
- developers-reference*.sasp* developers-reference*.tex \
- developers-reference*.aux developers-reference*.toc \
- developers-reference*.idx developers-reference*.log \
- developers-reference*.out developers-reference*.dvi \
- developers-reference*.tpt
+ rm -f *.fo *.html *.pdf *.txt
rm -f version.ent
rm -f `find . -name "*~" -o -name "*.bak"`
rm -f *.validate
distclean: clean
rm -f *.rej *.orig
-developers-reference$(SRCEXT).sgml: version.ent common.ent
-
-html: $(MANUAL).html
-
# if rule bomb out, delete the target
.DELETE_ON_ERROR: