chiark / gitweb /
add CVE ids
[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 LANGS           := fr ja
9 TARGETS         := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \
10                      $(foreach langext,$(LANGS), \
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 htmllink        := echo "<!entity % htmltext \"INCLUDE\">" > dynamic.ent
21 nohtmllink      := echo "<!entity % htmltext \"IGNORE\">" > dynamic.ent
22
23 make_directory  := install -d -m 755
24 install_file    := install -m 644 -p
25
26 MAX_TEX_RECURSION := 5
27
28 .PHONY: all dropold
29 all:    $(TARGETS)
30
31 .PHONY: validate
32 validate:       $(addsuffix .validate,$(SOURCES))
33
34 # hmmm, this rule may need to be revised/tested
35 publish:        all
36         [ -d $(PUBLISHDIR) ] || exit 1
37         rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
38         $(make_directory) $(PUBLISHDIR)/$(MANUAL)
39         $(install_file) developers-reference*.html/*.html developers-reference*pdf      \
40            $(PUBLISHDIR)/$(MANUAL)
41         ln -sf index.en.html $(PUBLISHDIR)/$(MANUAL)/index.html
42
43 developers-reference.html:      developers-reference.sgml
44         $(htmllink)
45         $(DEBIANDOC2HTML) -l en $<
46
47 developers-reference.html/*:    developers-reference.html
48
49 developers-reference.%.html:    developers-reference.%.sgml
50         $(htmllink)
51         $(DEBIANDOC2HTML) -l $* $<
52
53 developers-reference.txt:       developers-reference.sgml
54         $(nohtmllink)
55         $(DEBIANDOC2TEXT) -l en -O $< > $@
56
57 developers-reference.%.txt:     developers-reference.%.sgml
58         $(nohtmllink)
59         $(DEBIANDOC2TEXT) -l $* -O $< > $@
60
61 developers-reference.tex:       developers-reference.sgml
62         $(nohtmllink)
63         $(DEBIANDOC2LATEX) -l en -O $< > $@
64
65 developers-reference.%.tex:     developers-reference.%.sgml
66         $(nohtmllink)
67         $(DEBIANDOC2LATEX) -l $* -O $< > $@
68
69 developers-reference.ps:        developers-reference.sgml
70         $(nohtmllink)
71         $(DEBIANDOC2PS) -l en $<
72
73 developers-reference.%.ps:      developers-reference.%.sgml
74         $(nohtmllink)
75         $(DEBIANDOC2PS) -l $* $<
76
77 developers-reference.pdf:       developers-reference.sgml
78         $(nohtmllink)
79         $(DEBIANDOC2PDF) -l en $<
80
81 developers-reference.%.pdf:     developers-reference.%.sgml
82         $(nohtmllink)
83         $(DEBIANDOC2PDF) -l $* $<
84
85 version.ent:    debian/changelog
86         ./debian/rules $@
87
88 %.validate : % version.ent
89         nsgmls -wall -gues $<
90         touch $@
91
92 USERMAP := ../../ddp/CVSROOT/users
93 .PHONY: prepare
94 prepare:        ChangeLog
95         cvs ci -m "update for next release" ChangeLog
96
97 .PHONY: ChangeLog
98 ChangeLog:
99         @[ -f CVS/Root -a -f $(USERMAP) ] || \
100                 ( echo "usermap file '$(USERMAP)' not found" 1>&2; exit 1 )
101         cvs2cl -r --usermap $(USERMAP)
102
103 .PHONY: clean
104 clean:
105         rm -rf developers-reference*.html
106         rm -f developers-reference*.txt developers-reference*.pdf \
107               developers-reference*.ps developers-reference*.lout* lout.li \
108               developers-reference*.sasp* developers-reference*.tex \
109               developers-reference*.aux developers-reference*.toc \
110               developers-reference*.idx developers-reference*.log \
111               developers-reference*.out developers-reference*.dvi \
112               developers-reference*.tpt
113         rm -f version.ent
114         rm -f `find . -name "*~" -o -name "*.bak"`
115         rm -f *.validate
116         rm -f *~ *.bak .#* core
117
118 .PHONY: distclean
119 distclean: clean
120         rm -f *.rej *.orig
121
122 developers-reference$(SRCEXT).sgml: version.ent common.ent
123
124 html: $(MANUAL).html
125
126 # if rule bomb out, delete the target
127 .DELETE_ON_ERROR: