diff options
Diffstat (limited to 'buildlib')
-rw-r--r-- | buildlib/debiandoc.mak | 60 | ||||
-rw-r--r-- | buildlib/defaults.mak | 4 | ||||
-rw-r--r-- | buildlib/docbook.mak | 75 | ||||
-rw-r--r-- | buildlib/environment.mak.in | 12 | ||||
-rw-r--r-- | buildlib/po4a_manpage.mak | 18 |
5 files changed, 93 insertions, 76 deletions
diff --git a/buildlib/debiandoc.mak b/buildlib/debiandoc.mak deleted file mode 100644 index 7e22467cf..000000000 --- a/buildlib/debiandoc.mak +++ /dev/null @@ -1,60 +0,0 @@ -# -*- make -*- - -# This processes debian-doc sgml to produce html and plain text output - -# Input -# $(SOURCE) - The documents to use - -# All output is writtin to files in the build doc directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := debiandoc-$(firstword $(SOURCE)) -$(LOCAL)-HTML := $(addsuffix .html,$(addprefix $(DOC)/,$(basename $(SOURCE)))) -$(LOCAL)-TEXT := $(addsuffix .text,$(addprefix $(DOC)/,$(basename $(SOURCE)))) - -debiandoc: - -#--------- - -# Rules to build HTML documentations -ifdef DEBIANDOC_HTML - -# Install generation hooks -debiandoc: $($(LOCAL)-HTML) -veryclean: veryclean/html/$(LOCAL) - -vpath %.sgml $(SUBDIRS) -$(DOC)/%.html: %.sgml - echo Creating html for $< to $@ - -rm -rf $@ - (HERE=`pwd`; cd $(@D) && $(DEBIANDOC_HTML) $(DEBIANDOC_HTML_OPTIONS) $$HERE/$<) || exit 199 - -# Clean rule -.PHONY: veryclean/html/$(LOCAL) -veryclean/html/$(LOCAL): - -rm -rf $($(@F)-HTML) - -endif - -#--------- - -# Rules to build Text documentations -ifdef DEBIANDOC_TEXT - -# Install generation hooks -debiandoc: $($(LOCAL)-TEXT) -veryclean: veryclean/text/$(LOCAL) - -vpath %.sgml $(SUBDIRS) -$(DOC)/%.text: %.sgml - echo Creating text for $< to $@ - $(DEBIANDOC_TEXT) -O $< > $@ || exit 198 - -# Clean rule -.PHONY: veryclean/text/$(LOCAL) -veryclean/text/$(LOCAL): - -rm -rf $($(@F)-TEXT) - -endif diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak index 599b9ed85..c7931c504 100644 --- a/buildlib/defaults.mak +++ b/buildlib/defaults.mak @@ -76,7 +76,7 @@ PO_DOMAINS := $(BUILD)/po/domains # Module types LIBRARY_H = $(BASE)/buildlib/library.mak -DEBIANDOC_H = $(BASE)/buildlib/debiandoc.mak +DOCBOOK_H = $(BASE)/buildlib/docbook.mak MANPAGE_H = $(BASE)/buildlib/manpage.mak PROGRAM_H = $(BASE)/buildlib/program.mak PYTHON_H = $(BASE)/buildlib/python.mak @@ -121,7 +121,7 @@ MKDIRS := $(BIN) all: dirs binary doc binary: library program maintainer-clean dist-clean distclean pristine sanity: veryclean -startup headers library clean veryclean program test update-po manpages debiandoc: +startup headers library clean veryclean program test update-po manpages docbook: veryclean: echo Very Clean done for $(SUBDIR) diff --git a/buildlib/docbook.mak b/buildlib/docbook.mak new file mode 100644 index 000000000..6aa3ca0d2 --- /dev/null +++ b/buildlib/docbook.mak @@ -0,0 +1,75 @@ +# -*- make -*- + +# This processes DocBook XML to produce html and plain text output + +# Input +# $(SOURCE) - The documents to use + +# All output is written to files in the build doc directory + +# See defaults.mak for information about LOCAL + +# Some local definitions +LOCAL := docbook-$(firstword $(SOURCE)) +$(LOCAL)-HTML := $(addsuffix .html,$(addprefix $(DOC)/,$(basename $(SOURCE)))) +$(LOCAL)-TEXT := $(addsuffix .text,$(addprefix $(DOC)/,$(basename $(SOURCE)))) +INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent + +docbook: + + +#--------- + +# Rules to build HTML documentations +ifdef XSLTPROC + +DOCBOOK_HTML_STYLESHEET := docbook-html-style.xsl + +# Install generation hooks +docbook: $($(LOCAL)-HTML) +veryclean: veryclean/html/$(LOCAL) + +vpath %.dbk $(SUBDIRS) +vpath $(DOCBOOK_HTML_STYLESHEET) $(SUBDIRS) +$(DOC)/%.html: %.dbk $(DOCBOOK_HTML_STYLESHEET) $(INCLUDES) + echo Creating html for $< to $@ + -rm -rf $@ + mkdir -p $@ + $(DOCBOOK) \ + --stringparam base.dir $@/ \ + --stringparam l10n.gentext.default.language $(LC) \ + $(<D)/$(DOCBOOK_HTML_STYLESHEET) $< || exit 199 + +# Clean rule +.PHONY: veryclean/html/$(LOCAL) +veryclean/html/$(LOCAL): + -rm -rf $($(@F)-HTML) + +endif + +#--------- + +# Rules to build Text documentations +ifdef XSLTPROC + +DOCBOOK_TEXT_STYLESHEET := docbook-text-style.xsl + +# Install generation hooks +docbook: $($(LOCAL)-TEXT) +veryclean: veryclean/text/$(LOCAL) + +vpath %.dbk $(SUBDIRS) +vpath $(DOCBOOK_TEXT_STYLESHEET) $(SUBDIRS) +$(DOC)/%.text: %.dbk $(DOCBOOK_TEXT_STYLESHEET) $(INCLUDES) + echo Creating text for $< to $@ + $(DOCBOOK) \ + --stringparam l10n.gentext.default.language $(LC) \ + $(<D)/$(DOCBOOK_TEXT_STYLESHEET) $< | \ + LC_ALL=C.UTF-8 $(DOCBOOK2TEXT) > $@ || exit 198 + +# Clean rule +.PHONY: veryclean/text/$(LOCAL) +veryclean/text/$(LOCAL): + -rm -rf $($(@F)-TEXT) + +endif diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in index c1bf29672..b0a8d9d35 100644 --- a/buildlib/environment.mak.in +++ b/buildlib/environment.mak.in @@ -28,15 +28,17 @@ RANLIB:=@RANLIB@ GCC3DEP = @GCC3DEP@ INLINEDEPFLAG = -MD -# Debian doc stuff -DEBIANDOC_HTML = @DEBIANDOC_HTML@ -DEBIANDOC_TEXT = @DEBIANDOC_TEXT@ - DOXYGEN = @DOXYGEN@ +W3M = @W3M@ -# xsltproc for the man pages +# xsltproc for the man pages and documentation XSLTPROC := @XSLTPROC@ +# DocBook XML +DOCBOOK = $(XSLTPROC) --nonet --novalid --xinclude +DOCBOOK2TEXT = $(W3M) -o display_charset=UTF-8 -no-graph -T text/html \ + -cols 78 -dump + # po4a for the man pages PO4A := @PO4A@ diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak index b3d586b2f..0f53a8600 100644 --- a/buildlib/po4a_manpage.mak +++ b/buildlib/po4a_manpage.mak @@ -15,6 +15,9 @@ INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent manpages: +%.xsl: ../%.xsl + cp -a $< . + # Do not use XMLTO, build the manpages directly with XSLTPROC ifdef XSLTPROC @@ -34,13 +37,11 @@ apt-verbatim.ent: ../apt-verbatim.ent apt-vendor.ent: ../apt-vendor.ent cp -a ../apt-vendor.ent . -manpage-style.xsl: ../manpage-style.xsl - sed "/<!-- LANGUAGE -->/ i\ -<xsl:param name=\"l10n.gentext.default.language\" select=\"'$(LC)'\" />" ../manpage-style.xsl > manpage-style.xsl - $($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES) echo Creating man page $@ - $(XSLTPROC) -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here??? + $(XSLTPROC) \ + --stringparam l10n.gentext.default.language $(LC) \ + -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here??? test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed' mv -f $(subst .$(LC),,$@) $@ @@ -69,7 +70,6 @@ ifneq ($(words $(SOURCE)),0) include $(MANPAGE_H) endif -# Debian Doc SGML Documents -SOURCE := $(wildcard *.$(LC).sgml) -DEBIANDOC_HTML_OPTIONS=-l $(LC).UTF-8 -include $(DEBIANDOC_H) +# DocBook XML Documents +SOURCE := $(wildcard *.$(LC).dbk) +include $(DOCBOOK_H) |