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