# Makefile, used for the DDP manuals.sgml area
MANUAL := $(notdir $(shell pwd))
-PUBLISHDIR := ../../../public_html/manuals.html
+PUBLISHDIR := /org/www.debian.org/www/doc/manuals
SOURCES := $(wildcard *.sgml)
+LANGS := fr ja
TARGETS := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \
- $(filter-out developers-reference.ja.pdf, \
- $(foreach langext,.ja .fr, \
- $(foreach fmt,html txt pdf,developers-reference$(langext).$(fmt))))
+ $(foreach langext,$(LANGS), \
+ $(foreach fmt,html txt pdf,developers-reference.$(langext).$(fmt)))
# programs for creating output
DEBIANDOC2HTML := debiandoc2html -c
DEBIANDOC2TEXT := debiandoc2text
DEBIANDOC2LATEX := debiandoc2latex
+DEBIANDOC2PS := debiandoc2latexps
+DEBIANDOC2PDF := debiandoc2latexpdf
+
+htmllink := echo "<!entity % htmltext \"INCLUDE\">" > dynamic.ent
+nohtmllink := echo "<!entity % htmltext \"IGNORE\">" > dynamic.ent
make_directory := install -d -m 755
install_file := install -m 644 -p
MAX_TEX_RECURSION := 5
-.PHONY: all
+.PHONY: all dropold
all: $(TARGETS)
.PHONY: validate
[ -d $(PUBLISHDIR) ] || exit 1
rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
$(make_directory) $(PUBLISHDIR)/$(MANUAL)
- $(install_file) developers-reference*.html/*.html \
+ $(install_file) developers-reference*.html/*.html developers-reference*pdf \
$(PUBLISHDIR)/$(MANUAL)
+ ln -sf index.en.html $(PUBLISHDIR)/$(MANUAL)/index.html
developers-reference.html: developers-reference.sgml
- $(DEBIANDOC2HTML) -l C $<
+ $(htmllink)
+ $(DEBIANDOC2HTML) -l en $<
developers-reference.html/*: developers-reference.html
developers-reference.%.html: developers-reference.%.sgml
+ $(htmllink)
$(DEBIANDOC2HTML) -l $* $<
developers-reference.txt: developers-reference.sgml
- $(DEBIANDOC2TEXT) -l C -O $< > $@
+ $(nohtmllink)
+ $(DEBIANDOC2TEXT) -l en -O $< > $@
developers-reference.%.txt: developers-reference.%.sgml
+ $(nohtmllink)
$(DEBIANDOC2TEXT) -l $* -O $< > $@
developers-reference.tex: developers-reference.sgml
- $(DEBIANDOC2LATEX) -l C -O $< > $@
+ $(nohtmllink)
+ $(DEBIANDOC2LATEX) -l en -O $< > $@
developers-reference.%.tex: developers-reference.%.sgml
+ $(nohtmllink)
$(DEBIANDOC2LATEX) -l $* -O $< > $@
-%.pdf: %.tex
-# note that I have seen bi-stable .aux files, thus we check two levels deep
- -cp -pf prior.aux pprior.aux 2>/dev/null
- -cp -pf $*.aux prior.aux 2>/dev/null
-# fail if we don't have pdflatex correctly installed
- kpsewhich pdflatex.fmt >/dev/null
-# due to a bug in debiandoc2latex2e output, this might fail
- -pdflatex '\nonstopmode\input{$<}' >/dev/null # see $(@:.pdf=.log) for details
- @set -e ;\
- if ! cmp $*.aux prior.aux 2>/dev/null && \
- ! cmp $*.aux pprior.aux 2>/dev/null; then \
- if expr $(MAKELEVEL) '<' $(MAX_TEX_RECURSION) >/dev/null;\
- then \
- echo "remaking $@ (take $(MAKELEVEL))" ;\
- rm -f $@ ;\
- $(MAKE) $@ ;\
- else \
- echo "E: $@ needs remaking, but we have reached max. level, $(MAX_TEX_RECURSION)" ;\
- fi \
- fi
- rm -f prior.aux pprior.aux
+developers-reference.ps: developers-reference.sgml
+ $(nohtmllink)
+ $(DEBIANDOC2PS) -l en $<
+
+developers-reference.%.ps: developers-reference.%.sgml
+ $(nohtmllink)
+ $(DEBIANDOC2PS) -l $* $<
+
+developers-reference.pdf: developers-reference.sgml
+ $(nohtmllink)
+ $(DEBIANDOC2PDF) -l en $<
+
+developers-reference.%.pdf: developers-reference.%.sgml
+ $(nohtmllink)
+ $(DEBIANDOC2PDF) -l $* $<
version.ent: debian/changelog
./debian/rules $@
-%.validate : %
+%.validate : % version.ent
nsgmls -wall -gues $<
touch $@
USERMAP := ../../ddp/CVSROOT/users
.PHONY: prepare
-prepare:
+prepare: ChangeLog
+ cvs ci -m "update for next release" ChangeLog
+
+.PHONY: ChangeLog
+ChangeLog:
@[ -f CVS/Root -a -f $(USERMAP) ] || \
- ( echo "silly rabbit, prepare is for Adam" 1>&2; exit 1 )
+ ( echo "usermap file '$(USERMAP)' not found" 1>&2; exit 1 )
cvs2cl -r --usermap $(USERMAP)
- cvs ci -m "update for next release" ChangeLog
.PHONY: clean
clean:
developers-reference*.sasp* developers-reference*.tex \
developers-reference*.aux developers-reference*.toc \
developers-reference*.idx developers-reference*.log \
- developers-reference*.out developers-reference*.dvi
+ developers-reference*.out developers-reference*.dvi \
+ developers-reference*.tpt
rm -f version.ent
rm -f `find . -name "*~" -o -name "*.bak"`
rm -f *.validate
developers-reference$(SRCEXT).sgml: version.ent common.ent
html: $(MANUAL).html
+
+# if rule bomb out, delete the target
+.DELETE_ON_ERROR: