X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=developers-reference.git;a=blobdiff_plain;f=Makefile;h=1a49f3946cd29d148f9be5e06295329a5352dd4b;hp=e958f4ade68913731bb28648c9d3229305edda08;hb=1bd681f99a7b307ebb5e5ab4759e63c7f58675af;hpb=9614896965c7f564c5cd6eeebf0b0df350fc58f7 diff --git a/Makefile b/Makefile index e958f4a..1a49f39 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,21 @@ # 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) TARGETS := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \ - $(filter-out developers-reference.ja.pdf, \ - $(foreach langext,.ja .fr, \ + $(filter-out developers-reference.ja.pdf, \ + $(foreach langext,.ja .fr, \ $(foreach fmt,html txt pdf,developers-reference$(langext).$(fmt)))) # programs for creating output -DEBIANDOC2HTML := debiandoc2html -d debiandoc.decl -c -DEBIANDOC2TEXT := debiandoc2text -d debiandoc.decl -DEBIANDOC2LATEX := debiandoc2latex -d debiandoc.decl +DEBIANDOC2HTML := debiandoc2html -c +DEBIANDOC2TEXT := debiandoc2text +DEBIANDOC2LATEX := debiandoc2latex +DEBIANDOC2PS := debiandoc2latexps +DEBIANDOC2PDF := debiandoc2latexpdf make_directory := install -d -m 755 install_file := install -m 644 -p @@ -21,6 +25,9 @@ MAX_TEX_RECURSION := 5 .PHONY: all all: $(TARGETS) +.PHONY: validate +validate: $(addsuffix .validate,$(SOURCES)) + # hmmm, this rule may need to be revised/tested publish: all [ -d $(PUBLISHDIR) ] || exit 1 @@ -32,6 +39,8 @@ publish: all developers-reference.html: developers-reference.sgml $(DEBIANDOC2HTML) -l C $< +developers-reference.html/*: developers-reference.html + developers-reference.%.html: developers-reference.%.sgml $(DEBIANDOC2HTML) -l $* $< @@ -47,33 +56,33 @@ developers-reference.tex: developers-reference.sgml developers-reference.%.tex: developers-reference.%.sgml $(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 $(basename $<).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 $(basename $<).aux prior.aux 2>/dev/null && \ - ! cmp $(basename $<).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 + $(DEBIANDOC2PS) -l C $< + +developers-reference.%.ps: developers-reference.%.sgml + $(DEBIANDOC2PS) -l $* $< +developers-reference.pdf: developers-reference.sgml + $(DEBIANDOC2PDF) -l C $< +developers-reference.%.pdf: developers-reference.%.sgml + $(DEBIANDOC2PDF) -l $* $< version.ent: debian/changelog ./debian/rules $@ +%.validate : % version.ent + nsgmls -wall -gues $< + touch $@ + +USERMAP := ../../ddp/CVSROOT/users +.PHONY: prepare +prepare: + @[ -f CVS/Root -a -f $(USERMAP) ] || \ + ( echo "silly rabbit, prepare is for Adam" 1>&2; exit 1 ) + cvs2cl -r --usermap $(USERMAP) + cvs ci -m "update for next release" ChangeLog + .PHONY: clean clean: rm -rf developers-reference*.html @@ -82,10 +91,20 @@ 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 "*~"` + 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: