1 # Makefile, used for the DDP manuals.sgml area
3 MANUAL := $(notdir $(shell pwd))
4 PUBLISHDIR := ../../../public_html/manuals.html
6 SOURCES := $(wildcard *.sgml)
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))))
13 # programs for creating output
14 DEBIANDOC2HTML := debiandoc2html -c
15 DEBIANDOC2TEXT := debiandoc2text
16 DEBIANDOC2LATEX := debiandoc2latex
18 make_directory := install -d -m 755
19 install_file := install -m 644 -p
21 MAX_TEX_RECURSION := 5
27 validate: $(addsuffix .validate,$(SOURCES))
29 # hmmm, this rule may need to be revised/tested
31 [ -d $(PUBLISHDIR) ] || exit 1
32 rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
33 $(make_directory) $(PUBLISHDIR)/$(MANUAL)
34 $(install_file) developers-reference*.html/*.html \
35 $(PUBLISHDIR)/$(MANUAL)
37 developers-reference.html: developers-reference.sgml
38 $(DEBIANDOC2HTML) -l C $<
40 developers-reference.html/*: developers-reference.html
42 developers-reference.%.html: developers-reference.%.sgml
43 $(DEBIANDOC2HTML) -l $* $<
45 developers-reference.txt: developers-reference.sgml
46 $(DEBIANDOC2TEXT) -l C -O $< > $@
48 developers-reference.%.txt: developers-reference.%.sgml
49 $(DEBIANDOC2TEXT) -l $* -O $< > $@
51 developers-reference.tex: developers-reference.sgml
52 $(DEBIANDOC2LATEX) -l C -O $< > $@
54 developers-reference.%.tex: developers-reference.%.sgml
55 $(DEBIANDOC2LATEX) -l $* -O $< > $@
58 # note that I have seen bi-stable .aux files, thus we check two levels deep
59 -cp -pf prior.aux pprior.aux 2>/dev/null
60 -cp -pf $*.aux prior.aux 2>/dev/null
61 # fail if we don't have pdflatex correctly installed
62 kpsewhich pdflatex.fmt >/dev/null
63 # due to a bug in debiandoc2latex2e output, this might fail
64 -pdflatex '\nonstopmode\input{$<}' >/dev/null # see $(@:.pdf=.log) for details
66 if ! cmp $*.aux prior.aux 2>/dev/null && \
67 ! cmp $*.aux pprior.aux 2>/dev/null; then \
68 if expr $(MAKELEVEL) '<' $(MAX_TEX_RECURSION) >/dev/null;\
70 echo "remaking $@ (take $(MAKELEVEL))" ;\
74 echo "E: $@ needs remaking, but we have reached max. level, $(MAX_TEX_RECURSION)" ;\
77 rm -f prior.aux pprior.aux
79 version.ent: debian/changelog
86 USERMAP := ../../ddp/CVSROOT/users
89 @[ -f CVS/Root -a -f $(USERMAP) ] || \
90 ( echo "silly rabbit, prepare is for Adam" 1>&2; exit 1 )
91 cvs2cl -r --usermap $(USERMAP)
92 cvs ci -m "update for next release" ChangeLog
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
104 rm -f `find . -name "*~" -o -name "*.bak"`
106 rm -f *~ *.bak .#* core
112 developers-reference$(SRCEXT).sgml: version.ent common.ent