-# Makefile, only used for the DDP manuals.sgml area
+# Makefile, used for the DDP manuals.sgml area
-MANUAL := $(shell basename $(shell pwd))
-PUBLISHDIR := ../../../public_html/manuals.html/$(THISDIR)
+MANUAL := $(notdir $(shell pwd))
+PUBLISHDIR := /org/www.debian.org/www/doc/manuals
-publish: html
- [ -d ../../../public_html ] || exit 1
- rm -f $(PUBLISHDIR)/*.html
- install -d $(PUBLISHDIR)
- install -m 644 --preserve-timestamps $(MANUAL).html/*.html $(PUBLISHDIR)
+SOURCES := $(wildcard *.sgml)
-html:
- debian/rules build
+LANGS := fr ja
+TARGETS := $(foreach fmt,html txt pdf,developers-reference.$(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 dropold
+all: $(TARGETS)
+
+.PHONY: validate
+validate: $(addsuffix .validate,$(SOURCES))
+
+# hmmm, this rule may need to be revised/tested
+publish: all
+ [ -d $(PUBLISHDIR) ] || exit 1
+ rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
+ $(make_directory) $(PUBLISHDIR)/$(MANUAL)
+ $(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
+ $(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
+ $(nohtmllink)
+ $(DEBIANDOC2TEXT) -l en -O $< > $@
+
+developers-reference.%.txt: developers-reference.%.sgml
+ $(nohtmllink)
+ $(DEBIANDOC2TEXT) -l $* -O $< > $@
+
+developers-reference.tex: developers-reference.sgml
+ $(nohtmllink)
+ $(DEBIANDOC2LATEX) -l en -O $< > $@
+
+developers-reference.%.tex: developers-reference.%.sgml
+ $(nohtmllink)
+ $(DEBIANDOC2LATEX) -l $* -O $< > $@
+
+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 : % version.ent
+ nsgmls -wall -gues $<
+ touch $@
+
+USERMAP := ../../ddp/CVSROOT/users
+.PHONY: prepare
+prepare: ChangeLog
+ cvs ci -m "update for next release" ChangeLog
+
+.PHONY: ChangeLog
+ChangeLog:
+ @[ -f CVS/Root -a -f $(USERMAP) ] || \
+ ( echo "usermap file '$(USERMAP)' not found" 1>&2; exit 1 )
+ cvs2cl -r --usermap $(USERMAP)
+
+.PHONY: clean
clean:
- debian/rules clean
+ rm -rf developers-reference*.html
+ rm -f developers-reference*.txt developers-reference*.pdf \
+ developers-reference*.ps developers-reference*.lout* lout.li \
+ 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*.tpt
+ rm -f version.ent
+ rm -f `find . -name "*~" -o -name "*.bak"`
+ rm -f *.validate
+ rm -f *~ *.bak .#* core
+
+.PHONY: distclean
+distclean: clean
+ rm -f *.rej *.orig
+
+developers-reference$(SRCEXT).sgml: version.ent common.ent
+
+html: $(MANUAL).html
+# if rule bomb out, delete the target
+.DELETE_ON_ERROR: