chiark / gitweb /
updated IRC stuff based on patch from SynrG, closes: #161403
[developers-reference.git] / Makefile
index 6052b0052ccede933d731fe66848c78cca24d109..ca40661e7bbcdbaa2838aff94089f76833804561 100644 (file)
--- 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