X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Makefile;h=3be98ddc46ea88cd718285d44f78cf7c13f7c105;hb=0735ae5ff8d23014a5b9b0fe4223c66f6e97e4d9;hp=914d8fe1890f004b94da1e4df0610b540bc1ede8;hpb=6efbbc93a3bb666ca41727853ae799f7c3b3af86;p=developers-reference.git diff --git a/Makefile b/Makefile index 914d8fe..3be98dd 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,117 @@ # 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 -all: build +SOURCES := $(wildcard *.sgml) -publish: build +TARGETS := $(foreach fmt,html txt pdf,developers-reference.$(fmt)) \ + $(filter-out developers-reference.ja.pdf, \ + $(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 dropold +all: $(TARGETS) dropold + +dropold: + -rm -rf developers-reference.ja.html + + +.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 - install -d -m 755 $(PUBLISHDIR)/$(MANUAL) - install -m 644 --preserve-timestamps $(MANUAL).html/*.html \ + $(make_directory) $(PUBLISHDIR)/$(MANUAL) + $(install_file) developers-reference*.html/*.html \ $(PUBLISHDIR)/$(MANUAL) -.PHONY: build -build: - debian/rules build +developers-reference.html: developers-reference.sgml + $(DEBIANDOC2HTML) -l en $< + +developers-reference.html/*: developers-reference.html + +developers-reference.%.html: developers-reference.%.sgml + $(DEBIANDOC2HTML) -l $* $< + +developers-reference.txt: developers-reference.sgml + $(DEBIANDOC2TEXT) -l en -O $< > $@ + +developers-reference.%.txt: developers-reference.%.sgml + $(DEBIANDOC2TEXT) -l $* -O $< > $@ + +developers-reference.tex: developers-reference.sgml + $(DEBIANDOC2LATEX) -l en -O $< > $@ + +developers-reference.%.tex: developers-reference.%.sgml + $(DEBIANDOC2LATEX) -l $* -O $< > $@ + +developers-reference.ps: developers-reference.sgml + $(DEBIANDOC2PS) -l en $< + +developers-reference.%.ps: developers-reference.%.sgml + $(DEBIANDOC2PS) -l $* $< + +developers-reference.pdf: developers-reference.sgml + $(DEBIANDOC2PDF) -l en $< + +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: 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: