chiark / gitweb /
hmm, www.d.o wasn't in the entity
[developers-reference.git] / Makefile
1 # Makefile, used for the DDP manuals.sgml area
2
3 MANUAL          := $(notdir $(shell pwd))
4 PUBLISHDIR := /org/www.debian.org/www/doc/manuals
5
6 SOURCES         := $(wildcard *.sgml)
7
8 TARGETS         := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \
9                      $(filter-out developers-reference.ja.pdf, \
10                        $(foreach langext,.ja .fr, \
11                          $(foreach fmt,html txt pdf,developers-reference$(langext).$(fmt))))
12
13 # programs for creating output
14 DEBIANDOC2HTML  := debiandoc2html -c
15 DEBIANDOC2TEXT  := debiandoc2text
16 DEBIANDOC2LATEX := debiandoc2latex
17 DEBIANDOC2PS    := debiandoc2latexps
18 DEBIANDOC2PDF   := debiandoc2latexpdf
19
20 make_directory  := install -d -m 755
21 install_file    := install -m 644 -p
22
23 MAX_TEX_RECURSION := 5
24
25 .PHONY: all
26 all:    $(TARGETS)
27
28 .PHONY: validate
29 validate:       $(addsuffix .validate,$(SOURCES))
30
31 # hmmm, this rule may need to be revised/tested
32 publish:        all
33         [ -d $(PUBLISHDIR) ] || exit 1
34         rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
35         $(make_directory) $(PUBLISHDIR)/$(MANUAL)
36         $(install_file) developers-reference*.html/*.html       \
37            $(PUBLISHDIR)/$(MANUAL)
38
39 developers-reference.html:      developers-reference.sgml
40         $(DEBIANDOC2HTML) -l C $<
41
42 developers-reference.html/*:    developers-reference.html
43
44 developers-reference.%.html:    developers-reference.%.sgml
45         $(DEBIANDOC2HTML) -l $* $<
46
47 developers-reference.txt:       developers-reference.sgml
48         $(DEBIANDOC2TEXT) -l C -O $< > $@
49
50 developers-reference.%.txt:     developers-reference.%.sgml
51         $(DEBIANDOC2TEXT) -l $* -O $< > $@
52
53 developers-reference.tex:       developers-reference.sgml
54         $(DEBIANDOC2LATEX) -l C -O $< > $@
55
56 developers-reference.%.tex:     developers-reference.%.sgml
57         $(DEBIANDOC2LATEX) -l $* -O $< > $@
58
59 developers-reference.ps:        developers-reference.sgml
60         $(DEBIANDOC2PS) -l C $<
61
62 developers-reference.%.ps:      developers-reference.%.sgml
63         $(DEBIANDOC2PS) -l $* $<
64
65 developers-reference.pdf:       developers-reference.sgml
66         $(DEBIANDOC2PDF) -l C $<
67
68 developers-reference.%.pdf:     developers-reference.%.sgml
69         $(DEBIANDOC2PDF) -l $* $<
70
71 version.ent:    debian/changelog
72         ./debian/rules $@
73
74 %.validate : % version.ent
75         nsgmls -wall -gues $<
76         touch $@
77
78 USERMAP := ../../ddp/CVSROOT/users
79 .PHONY: prepare
80 prepare:
81         @[ -f CVS/Root -a -f $(USERMAP) ] || \
82                 ( echo "silly rabbit, prepare is for Adam" 1>&2; exit 1 )
83         cvs2cl -r --usermap $(USERMAP)
84         cvs ci -m "update for next release" ChangeLog
85
86 .PHONY: clean
87 clean:
88         rm -rf developers-reference*.html
89         rm -f developers-reference*.txt developers-reference*.pdf \
90               developers-reference*.ps developers-reference*.lout* lout.li \
91               developers-reference*.sasp* developers-reference*.tex \
92               developers-reference*.aux developers-reference*.toc \
93               developers-reference*.idx developers-reference*.log \
94               developers-reference*.out developers-reference*.dvi
95         rm -f version.ent
96         rm -f `find . -name "*~" -o -name "*.bak"`
97         rm -f *.validate
98         rm -f *~ *.bak .#* core
99
100 .PHONY: distclean
101 distclean: clean
102         rm -f *.rej *.orig
103
104 developers-reference$(SRCEXT).sgml: version.ent common.ent
105
106 html: $(MANUAL).html