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
.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
developers-reference.html: developers-reference.sgml
$(DEBIANDOC2HTML) -l C $<
+developers-reference.html/*: developers-reference.html
+
developers-reference.%.html: developers-reference.%.sgml
$(DEBIANDOC2HTML) -l $* $<
%.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))" ;\
fi
rm -f prior.aux pprior.aux
-
-
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
+
.PHONY: clean
clean:
rm -rf developers-reference*.html
developers-reference*.sasp* developers-reference*.tex \
developers-reference*.aux developers-reference*.toc \
developers-reference*.idx developers-reference*.log \
- developers-reference*.out
+ 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
-developers-reference$(SRCEXT).sgml: version.ent common.ent
\ No newline at end of file
+html: $(MANUAL).html