merged from lp:~donkult/apt/sid
[ntk/apt.git] / buildlib / po4a_manpage.mak
1 # -*- make -*-
2
3 # This handles man pages with po4a. We convert to the respective
4 # output in the source directory then copy over to the final dest. This
5 # means po4a is only needed if compiling from bzr
6
7 # Input
8 # $(LC) - The language code of the translation
9
10 # See defaults.mak for information about LOCAL
11
12 # generate a list of accepted man page translations
13 SOURCE = $(patsubst %.xml,%,$(wildcard *.$(LC).?.xml))
14 INCLUDES = apt.ent
15
16 # Do not use XMLTO, build the manpages directly with XSLTPROC
17 ifdef XSLTPROC
18
19 STYLESHEET=../manpage-style.xsl
20
21 LOCAL := po4a-manpage-$(firstword $(SOURCE))
22 $(LOCAL)-LIST := $(SOURCE)
23
24 # Install generation hooks
25 doc: $($(LOCAL)-LIST)
26 veryclean: veryclean/$(LOCAL)
27
28 $($(LOCAL)-LIST) :: % : %.xml $(INCLUDES)
29 echo Creating man page $@
30 $(XSLTPROC) -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here???
31 test -f $(subst .$(LC),,$@) || echo FIXME: xsltproc respect the -o flag now, workaround can be removed
32 mv -f $(subst .$(LC),,$@) $@
33
34 # Clean rule
35 .PHONY: veryclean/$(LOCAL)
36 veryclean/$(LOCAL):
37 -rm -rf $($(@F)-LIST) apt.ent apt.$(LC).8 \
38 $(addsuffix .xml,$($(@F)-LIST)) \
39 offline.$(LC).sgml guide.$(LC).sgml
40
41 HAVE_PO4A=yes
42 endif
43
44 # take care of the rest
45 SOURCE := $(SOURCE) $(wildcard apt.$(LC).8)
46 INCLUDES :=
47
48 ifndef HAVE_PO4A
49 # Strip from the source list any man pages we dont have compiled already
50 SOURCE := $(wildcard $(SOURCE))
51 endif
52
53 # Chain to the manpage rule
54 ifneq ($(words $(SOURCE)),0)
55 include $(MANPAGE_H)
56 endif
57
58 # Debian Doc SGML Documents
59 SOURCE := $(wildcard *.$(LC).sgml)
60 DEBIANDOC_HTML_OPTIONS=-l $(LC).UTF-8
61 include $(DEBIANDOC_H)