X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=developers-reference.git;a=blobdiff_plain;f=Makefile;h=ca40661e7bbcdbaa2838aff94089f76833804561;hp=6052b0052ccede933d731fe66848c78cca24d109;hb=90afd820fb6c2e99e1cc7ce1abd5b39ff0b2e94f;hpb=fc3fa15399366fcaaee863a1775d3121c510a56d diff --git a/Makefile b/Makefile index 6052b00..ca40661 100644 --- a/Makefile +++ b/Makefile @@ -3,15 +3,17 @@ MANUAL := $(notdir $(shell pwd)) PUBLISHDIR := ../../../public_html/manuals.html +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 make_directory := install -d -m 755 install_file := install -m 644 -p @@ -21,6 +23,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 +37,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 $* $< @@ -50,14 +57,14 @@ developers-reference.%.tex: developers-reference.%.sgml %.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 + -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 $(basename $<).aux prior.aux 2>/dev/null && \ - ! cmp $(basename $<).aux pprior.aux 2>/dev/null; then \ + 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))" ;\ @@ -72,13 +79,17 @@ developers-reference.%.tex: developers-reference.%.sgml version.ent: debian/changelog ./debian/rules $@ +%.validate : % + 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 + cvs ci -m "update for next release" ChangeLog .PHONY: clean clean: @@ -90,7 +101,13 @@ clean: developers-reference*.idx developers-reference*.log \ developers-reference*.out developers-reference*.dvi 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