diff options
Diffstat (limited to 'buildlib')
-rw-r--r-- | buildlib/Makefile.am | 1 | ||||
-rw-r--r-- | buildlib/doc.mk | 14 | ||||
-rw-r--r-- | buildlib/docbook.mk | 167 | ||||
-rw-r--r-- | buildlib/po4a.mk | 23 |
4 files changed, 205 insertions, 0 deletions
diff --git a/buildlib/Makefile.am b/buildlib/Makefile.am new file mode 100644 index 00000000..ffc97506 --- /dev/null +++ b/buildlib/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = doc.mk docbook.mk po4a.mk diff --git a/buildlib/doc.mk b/buildlib/doc.mk new file mode 100644 index 00000000..ac8e8ab7 --- /dev/null +++ b/buildlib/doc.mk @@ -0,0 +1,14 @@ +# Standard makefile rules for documentation +# + +HTML2TEXT = $(top_srcdir)/doc/html-to-text + +mandir = $(if $(findstring en,$(LC)),@mandir@,@mandir@/$(LC)) +htmldir = @htmldir@/$(LC) +imagesdir = $(htmldir)/images + +man_MANS = +html_DATA = +images_DATA = +pkgdata_DATA = $(README) +pdf_DATA = $(aptitude.pdf) diff --git a/buildlib/docbook.mk b/buildlib/docbook.mk new file mode 100644 index 00000000..76d0378a --- /dev/null +++ b/buildlib/docbook.mk @@ -0,0 +1,167 @@ +# Makefile rules for targets from docbook source +# + +dbiftargets = $(if $(findstring $(1),$(DOCBOOK_TARGETS)),$(2)) + +DOCBOOK_IMAGES ?= $(patsubst %.svg,%.png,$(IMAGES)) + +DOCBOOK_XML ?= aptitude.xml manpage.xml +DOCBOOK_HTML_XSL ?= aptitude-html.xsl + +DOCBOOK_HTML ?= $(wildcard output-html/*.html) $(wildcard output-html/*.css) +DOCBOOK_HTML_IMAGES ?= $(wildcard output-html/images/*.png) $(wildcard output-html/images/*.gif) +DOCBOOK_MANS ?= $(call dbiftargets,docbook-man, \ + aptitude.8 aptitude-create-state-bundle.1 aptitude-run-state-bundle.1) + +docbook-stamp: $(DOCBOOK_TARGETS) + touch docbook-stamp + +docbook-man: docbook-man-stamp +docbook-html: docbook-html-stamp docbook-css-stamp docbook-html-images-stamp +docbook-readme: docbook-readme-stamp +docbook-pdf: docbook-pdf-stamp + +.PHONY: docbook-man docbook-html docbook-readme docbook-pdf +.PHONY: clean-local clean-docbookclean-docbook-readme +.PHONY: clean-docbook-man clean-docbook-fo clean-docbook-pdf +.PHONY: clean-docbook-html clean-docbook-css clean-docbook-html-images +.PHONY: install-data-docbook uninstall-docbook +.PHONY: install-docbook-html uninstall-docbook-html + +vpath %.xsl $(top_srcdir)/doc +vpath %.css $(top_srcdir)/doc + +DOCBOOK_INSTALL_CANDIDATES = docbook-html +DOCBOOK_INSTALL_TARGETS = $(filter $(DOCBOOK_INSTALL_CANDIDATES),$(DOCBOOK_TARGETS)) + +install-data-hook: install-data-docbook +install-data-docbook: $(addprefix install-, $(DOCBOOK_INSTALL_TARGETS)) + +uninstall-hook: uninstall-docbook +uninstall-docbook: $(addprefix uninstall-, $(DOCBOOK_INSTALL_TARGETS)) + +dbinstall = @list='$(1)'; test -n "$(2)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(2)'"; \ + $(MKDIR_P) "$(DESTDIR)$(2)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(2)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(2)" || exit $$?; \ + done + +dbuninstall = @list='$(1)'; test -n "$(2)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(2)'; $(am__uninstall_files_from_dir) + +man_MANS += $(DOCBOOK_MANS) + +install-docbook-html: docbook-html + @$(NORMAL_INSTALL) + $(call dbinstall,$(DOCBOOK_HTML),$(htmldir)) + $(call dbinstall,$(DOCBOOK_HTML_IMAGES),$(imagesdir)) +uninstall-docbook-html: + @$(NORMAL_UNINSTALL) + $(call dbuninstall,$(DOCBOOK_HTML),$(htmldir)) + $(call dbuninstall,$(DOCBOOK_HTML_IMAGES),$(imagesdir)) + +clean-local: clean-docbook +clean-docbook: $(addprefix clean-,$(DOCBOOK_TARGETS)) + -rm -f docbook-stamp +clean-docbook-man: + -rm -fr output-man/ docbook-man-stamp $(DOCBOOK_MANS) +clean-docbook-html: clean-docbook-css clean-docbook-html-images + -rm -fr output-html/ docbook-html-stamp +clean-docbook-css: + -rm -f output-html/aptitude.css docbook-css-stamp +clean-docbook-html-images: + -rm -f output-html/images/ docbook-html-images-stamp +clean-docbook-readme: + -rm -fr output-readme/ docbook-readme-stamp $(README) +clean-docbook-fo: + -rm -fr output-fo/ docbook-fo-stamp +clean-docbook-pdf: clean-docbook-fo + -rm -fr docbook-pdf-stamp $(aptitude.pdf) + +docbook-css-stamp: aptitude.css docbook-html-stamp + -rm -f output-html/aptitude.css + cp $< output-html/ + touch docbook-css-stamp + +docbook-html-images-stamp: $(DOCBOOK_IMAGES) docbook-html-stamp + mkdir output-html/images/ + cp -f $(filter-out docbook-html-stamp,$^) output-html/images/ + for x in caution important note tip warning; do \ + ln -s /usr/share/xml/docbook/stylesheet/nwalsh/images/$$x.png \ + output-html/images/; \ + done + for x in home next prev up; do \ + ln -s /usr/share/xml/docbook/stylesheet/nwalsh/images/$$x.gif \ + output-html/images/; \ + done + touch docbook-html-images-stamp + +$(DOCBOOK_MANS): $(findstring docbook-man,$(DOCBOOK_TARGETS)) +$(README): $(findstring docbook-readme,$(DOCBOOK_TARGETS)) +$(aptitude.pdf): $(findstring docbook-pdf,$(DOCBOOK_TARGETS) + +if HAVE_RSVGCONVERT + +images/%.png: images/%.svg + $(RSVGCONVERT) -x 1.5 -y 1.5 -f png -o $@ $< + +endif + +if HAVE_XSLTPROC + +docbook-man-stamp: $(DOCBOOK_XML) aptitude-man.xsl aptitude-common.xsl + -rm -fr output-man/ + $(XSLTPROC) -o output-man/aptitude.8 $(filter %aptitude-man.xsl,$^) $< + ln -f $(addprefix output-man/,$(DOCBOOK_MANS)) . + @if [ -x "$(srcdir)/fixman" ]; then \ + for i in $(DOCBOOK_MANS); do \ + echo "$(srcdir)/fixman $$i"; \ + . $(srcdir)/fixman $$i; \ + done; \ + fi + touch docbook-man-stamp + +docbook-html-stamp: $(DOCBOOK_XML) $(DOCBOOK_HTML_XSL) aptitude-common.xsl + -rm -fr output-html/ + $(XSLTPROC) -o output-html/ $(filter %$(DOCBOOK_HTML_XSL),$^) $< + touch docbook-html-stamp + +docbook-readme-stamp: $(DOCBOOK_XML) aptitude-txt.xsl aptitude-common.xsl + -rm -fr output-readme/ $(README) + $(XSLTPROC) -o output-readme/index.html $(filter %aptitude-txt.xsl,$^) $< + @echo "$(HTML2TEXT) output-readme/index.html $(README_encoding) > $(README)"; \ + $(HTML2TEXT) output-readme/index.html $(README_encoding) > $(README) \ + || (rm -f $(README); exit 1) + touch docbook-readme-stamp + +docbook-fo-stamp: $(DOCBOOK_XML) aptitude-fo.xsl aptitude-common.xsl $(IMAGES) + -rm -fr output-fo/ + $(XSLTPROC) -o output-fo/aptitude.fo $(filter %aptitude-fo.xsl,$^) $< + + mkdir output-fo/images/ + ln -f $(srcdir)/images/*.png output-fo/images/ + for x in caution important note tip warning; do \ + ln -s /usr/share/xml/docbook/stylesheet/nwalsh/images/$$x.png \ + output-html/images/; \ + done + + touch docbook-fo-stamp + +endif + +if HAVE_FOP + +docbook-pdf-stamp: docbook-fo-stamp + $(FOP) output-fo/aptitude.fo -pdf $(aptitude.pdf) + touch docbook-pdf-stamp + +endif diff --git a/buildlib/po4a.mk b/buildlib/po4a.mk new file mode 100644 index 00000000..9b995580 --- /dev/null +++ b/buildlib/po4a.mk @@ -0,0 +1,23 @@ +# Makefile rules for targets from po4a translations +# + +PO4A_TRANSLATED ?= $(shell cat $(top_srcdir)/doc/po4a/TRANSLATED) +PO4A_IMAGES := $(filter images/%,$(PO4A_TRANSLATED)) + +PO4AFLAGS = --srcdir=$(top_srcdir)/doc --destdir=$(top_builddir)/doc \ + $(top_srcdir)/doc/po4a/po4a.cfg + +clean-local: clean-po4a + +clean-po4a: + -rm -fr $(PO4A_TRANSLATED) $(PO4A_IMAGES) + -rm -fr $(addprefix "$(srcdir)/",$(PO4A_IMAGES)) + +vpath %.po $(top_srcdir)/doc/po4a/po + +if HAVE_PO4A + +$(PO4A_TRANSLATED): $(LC).po $(top_srcdir)/doc/en/$@ + $(PO4A) --translate-only=$(LC)/$@ $(PO4AFLAGS) + +endif |