1 # Makefile, used for the DDP manuals.sgml area
3 MANUAL := $(notdir $(shell pwd))
4 PUBLISHDIR := ../../../public_html/manuals.html
6 TARGETS := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \
7 $(foreach langext,.ja .fr, \
8 $(foreach fmt,html txt pdf,developers-reference$(langext).$(fmt)))
10 # programs for creating output
11 DEBIANDOC2HTML := debiandoc2html -d debiandoc.decl -c
12 DEBIANDOC2TEXT := debiandoc2text -d debiandoc.decl
13 DEBIANDOC2LATEX := debiandoc2latex -d debiandoc.decl
15 MAX_TEX_RECURSION := 5
21 [ -d $(PUBLISHDIR) ] || exit 1
22 rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
23 install -d -m 755 $(PUBLISHDIR)/$(MANUAL)
24 install -m 644 --preserve-timestamps $(MANUAL).html/*.html \
25 $(PUBLISHDIR)/$(MANUAL)
28 developers-reference.html: developers-reference.sgml
29 $(DEBIANDOC2HTML) -l C $<
31 developers-reference.%.html: developers-reference.%.sgml
32 $(DEBIANDOC2HTML) -l $* $<
34 developers-reference.txt: developers-reference.sgml
35 $(DEBIANDOC2TEXT) -l C -O $< > $@
37 developers-reference.%.txt: developers-reference.%.sgml
38 $(DEBIANDOC2TEXT) -l $* -O $< > $@
40 developers-reference.tex: developers-reference.sgml
41 $(DEBIANDOC2LATEX) -l C -O $< > $@
43 developers-reference.%.tex: developers-reference.%.sgml
44 $(DEBIANDOC2LATEX) -l $* -O $< > $@
47 # note that I have seen bi-stable .aux files, thus we check two levels deep
48 -cp -pf prior.aux pprior.aux 2>/dev/null
49 -cp -pf $(basename $<).aux prior.aux 2>/dev/null
50 # fail if we don't have pdflatex correctly installed
51 kpsewhich pdflatex.fmt >/dev/null
52 # due to a bug in debiandoc2latex2e output, this might fail
53 -pdflatex '\nonstopmode\input{$<}' >/dev/null # see $(@:.pdf=.log) for details
55 if ! cmp $(basename $<).aux prior.aux 2>/dev/null && \
56 ! cmp $(basename $<).aux pprior.aux 2>/dev/null; then \
57 if expr $(MAKELEVEL) '<' $(MAX_TEX_RECURSION) >/dev/null;\
59 echo "remaking $@ (take $(MAKELEVEL))" ;\
63 echo "E: $@ needs remaking, but we have reached max. level, $(MAX_TEX_RECURSION)" ;\
66 rm -f prior.aux pprior.aux
75 rm -rf developers-reference*.html
76 rm -f developers-reference*.txt developers-reference*.pdf \
77 developers-reference*.ps developers-reference*.lout* lout.li \
78 developers-reference*.sasp* developers-reference*.tex \
79 developers-reference*.aux developers-reference*.toc \
80 developers-reference*.idx developers-reference*.log \
81 developers-reference*.out
83 rm -f `find . -name "*~"`
85 developers-reference$(SRCEXT).sgml: version.ent common.ent