summaryrefslogtreecommitdiff
path: root/buildlib/po4a_manpage.mak
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2009-08-27 15:28:28 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2009-08-27 15:28:28 +0200
commitb01390eaa5750f28f258308b546f398ea5d89e3c (patch)
tree1eb60da9db5d65431eb1cb317fe935347de6e31f /buildlib/po4a_manpage.mak
parent79789e9c60f3319b478af4671e683ce5c97c25a7 (diff)
downloadapt-b01390eaa5750f28f258308b546f398ea5d89e3c.tar.gz
* buildlib/po4a_manpage.mak, doc/makefile, configure:
- simplify the makefiles needed for po4a manpages Add a bit more autodetection to the buildsystem to be able to add only half translated languages (only a few man pages, not all) and try to reduce the overhead needed to add new languages.
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