summaryrefslogtreecommitdiff
path: root/buildlib/po4a_manpage.mak
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2009-08-28 10:06:03 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2009-08-28 10:06:03 +0200
commit86d9e9635a23c7ecfe2de7f440a6acce320067bc (patch)
tree49cdacfb0df096ddf14c3a9c0af8f0682cb67249 /buildlib/po4a_manpage.mak
parent97c17a01c7722f08e0cebf938c12a010b96220b7 (diff)
parentb01390eaa5750f28f258308b546f398ea5d89e3c (diff)
merge with my po4a branch & update both pot's
Thanks again for the initial patch from KURASAWA Nozomu and for the improvements and cleanups done by Nicolas François to get po4a up and running for apt man page translations!
Diffstat (limited to 'buildlib/po4a_manpage.mak')
-rw-r--r--buildlib/po4a_manpage.mak54
1 files changed, 54 insertions, 0 deletions
diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak
new file mode 100644
index 000000000..3ea4e2cb5
--- /dev/null
+++ b/buildlib/po4a_manpage.mak
@@ -0,0 +1,54 @@
+# -*- make -*-
+
+# This handles man pages with po4a. We convert to the respective
+# output in the source directory then copy over to the final dest. This
+# means po4a is only needed if compiling from bzr
+
+# Input
+# $(LC) - The language code of the translation
+
+# See defaults.mak for information about LOCAL
+
+# generate a list of accepted man page translations
+SOURCE = $(patsubst %.xml,%,$(wildcard *.$(LC).?.xml))
+INCLUDES = apt.ent
+
+# Do not use XMLTO, build the manpages directly with XSLTPROC
+ifdef XSLTPROC
+
+STYLESHEET=./style.$(LC).xsl
+
+LOCAL := po4a-manpage-$(firstword $(SOURCE))
+$(LOCAL)-LIST := $(SOURCE)
+
+# Install generation hooks
+doc: $($(LOCAL)-LIST)
+veryclean: veryclean/$(LOCAL)
+
+$($(LOCAL)-LIST) :: % : %.xml $(INCLUDES)
+ echo Creating man page $@
+ $(XSLTPROC) -o $@ $(STYLESHEET) $< # why xsltproc doesn't respect the -o flag here???
+ mv -f $(subst .$(LC),,$@) $@
+
+# Clean rule
+.PHONY: veryclean/$(LOCAL)
+veryclean/$(LOCAL):
+ -rm -rf $($(@F)-LIST) apt.ent apt.$(LC).8 \
+ $(addsuffix .xml,$($(@F)-LIST))
+
+HAVE_PO4A=yes
+endif
+
+# take care of the rest
+SOURCE := $(SOURCE) apt.$(LC).8
+INCLUDES :=
+
+ifndef HAVE_PO4A
+# Strip from the source list any man pages we dont have compiled already
+SOURCE := $(wildcard $(SOURCE))
+endif
+
+# Chain to the manpage rule
+ifneq ($(words $(SOURCE)),0)
+include $(MANPAGE_H)
+endif