X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=developers-reference.git;a=blobdiff_plain;f=Makefile;h=97d7c1e6db3f4f17669128221d6eaff875c81eec;hp=d1619b6e75298b8accba04b655bbec255ccb377f;hb=ea20f00b6ad214ba7307bd0d98d736e1fced81a4;hpb=a759d321bc2882df2e3359a6b5636b1116b6a1d7 diff --git a/Makefile b/Makefile index d1619b6..97d7c1e 100644 --- a/Makefile +++ b/Makefile @@ -1,27 +1,33 @@ # Makefile, used for the DDP manuals.sgml area MANUAL := $(notdir $(shell pwd)) -PUBLISHDIR := /org/www.debian.org/www/doc/manuals +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, \ - $(foreach fmt,html txt pdf,developers-reference$(langext).$(fmt)))) + $(foreach langext,.fr, \ + $(foreach fmt,html txt,developers-reference$(langext).$(fmt)))) # programs for creating output DEBIANDOC2HTML := debiandoc2html -c DEBIANDOC2TEXT := debiandoc2text DEBIANDOC2LATEX := debiandoc2latex +DEBIANDOC2PS := debiandoc2latexps +DEBIANDOC2PDF := debiandoc2latexpdf make_directory := install -d -m 755 install_file := install -m 644 -p MAX_TEX_RECURSION := 5 -.PHONY: all -all: $(TARGETS) +.PHONY: all dropold +all: $(TARGETS) dropold + +dropold: + -rm -rf developers-reference.ja.html + .PHONY: validate validate: $(addsuffix .validate,$(SOURCES)) @@ -54,42 +60,35 @@ 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 $*.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 + $(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 : % +%.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: @@ -99,7 +98,8 @@ 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 @@ -112,3 +112,6 @@ distclean: clean developers-reference$(SRCEXT).sgml: version.ent common.ent html: $(MANUAL).html + +# if rule bomb out, delete the target +.DELETE_ON_ERROR: