1 # Makefile, used for the DDP manuals.sgml area
3 MANUAL := $(notdir $(shell pwd))
4 PUBLISHDIR := /org/www.debian.org/www/doc/manuals
6 SOURCES := $(wildcard *.sgml)
9 TARGETS := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \
10 $(foreach langext,$(LANGS), \
11 $(foreach fmt,html txt pdf,developers-reference.$(langext).$(fmt)))
13 # programs for creating output
14 DEBIANDOC2HTML := debiandoc2html -c
15 DEBIANDOC2TEXT := debiandoc2text
16 DEBIANDOC2LATEX := debiandoc2latex
17 DEBIANDOC2PS := debiandoc2latexps
18 DEBIANDOC2PDF := debiandoc2latexpdf
20 htmllink := echo "<!entity % htmltext \"INCLUDE\">" > dynamic.ent
21 nohtmllink := echo "<!entity % htmltext \"IGNORE\">" > dynamic.ent
23 make_directory := install -d -m 755
24 install_file := install -m 644 -p
26 MAX_TEX_RECURSION := 5
29 all: $(TARGETS) dropold
32 -rm -rf developers-reference.ja.html
36 validate: $(addsuffix .validate,$(SOURCES))
38 # hmmm, this rule may need to be revised/tested
41 [ -d $(PUBLISHDIR) ] || exit 1
42 rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
43 $(make_directory) $(PUBLISHDIR)/$(MANUAL)
44 $(install_file) developers-reference*.html/*.html developers-reference*pdf \
45 $(PUBLISHDIR)/$(MANUAL)
46 ln -sf index.en.html $(PUBLISHDIR)/$(MANUAL)/index.html
47 ln -sf developers-reference.pdf $(PUBLISHDIR)/$(MANUAL)/developers-reference.en.pdf
49 developers-reference.html: developers-reference.sgml
51 $(DEBIANDOC2HTML) -l en $<
53 developers-reference.html/*: developers-reference.html
55 developers-reference.%.html: developers-reference.%.sgml
57 $(DEBIANDOC2HTML) -l $* $<
59 developers-reference.txt: developers-reference.sgml
61 $(DEBIANDOC2TEXT) -l en -O $< > $@
63 developers-reference.%.txt: developers-reference.%.sgml
65 $(DEBIANDOC2TEXT) -l $* -O $< > $@
67 developers-reference.tex: developers-reference.sgml
69 $(DEBIANDOC2LATEX) -l en -O $< > $@
71 developers-reference.%.tex: developers-reference.%.sgml
73 $(DEBIANDOC2LATEX) -l $* -O $< > $@
75 developers-reference.ps: developers-reference.sgml
77 $(DEBIANDOC2PS) -l en $<
79 developers-reference.%.ps: developers-reference.%.sgml
81 $(DEBIANDOC2PS) -l $* $<
83 developers-reference.pdf: developers-reference.sgml
85 $(DEBIANDOC2PDF) -l en $<
87 developers-reference.%.pdf: developers-reference.%.sgml
89 $(DEBIANDOC2PDF) -l $* $<
91 version.ent: debian/changelog
94 %.validate : % version.ent
98 USERMAP := ../../ddp/CVSROOT/users
101 cvs ci -m "update for next release" ChangeLog
105 @[ -f CVS/Root -a -f $(USERMAP) ] || \
106 ( echo "usermap file '$(USERMAP)' not found" 1>&2; exit 1 )
107 cvs2cl -r --usermap $(USERMAP)
111 rm -rf developers-reference*.html
112 rm -f developers-reference*.txt developers-reference*.pdf \
113 developers-reference*.ps developers-reference*.lout* lout.li \
114 developers-reference*.sasp* developers-reference*.tex \
115 developers-reference*.aux developers-reference*.toc \
116 developers-reference*.idx developers-reference*.log \
117 developers-reference*.out developers-reference*.dvi \
118 developers-reference*.tpt
120 rm -f `find . -name "*~" -o -name "*.bak"`
122 rm -f *~ *.bak .#* core
128 developers-reference$(SRCEXT).sgml: version.ent common.ent
132 # if rule bomb out, delete the target