]>
Commit | Line | Data |
---|---|---|
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 apt-verbatim.ent apt-vendor.ent | |
15 | ||
16 | manpages: | |
17 | ||
18 | %.xsl: ../%.xsl | |
19 | cp -a $< . | |
20 | ||
21 | # Do not use XMLTO, build the manpages directly with XSLTPROC | |
22 | ifdef XSLTPROC | |
23 | ||
24 | STYLESHEET=manpage-style.xsl | |
25 | ||
26 | LOCAL := po4a-manpage-$(firstword $(SOURCE)) | |
27 | $(LOCAL)-LIST := $(SOURCE) | |
28 | ||
29 | # Install generation hooks | |
30 | manpages: $($(LOCAL)-LIST) | |
31 | clean: clean/$(LOCAL) | |
32 | veryclean: veryclean/$(LOCAL) | |
33 | ||
34 | apt-verbatim.ent: ../apt-verbatim.ent | |
35 | cp -a ../apt-verbatim.ent . | |
36 | ||
37 | apt-vendor.ent: ../apt-vendor.ent | |
38 | cp -a ../apt-vendor.ent . | |
39 | ||
40 | $($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES) | |
41 | echo Creating man page $@ | |
42 | $(XSLTPROC) \ | |
43 | --stringparam l10n.gentext.default.language $(LC) \ | |
44 | -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here??? | |
45 | test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed' | |
46 | mv -f $(subst .$(LC),,$@) $@ | |
47 | ||
48 | # Clean rule | |
49 | .PHONY: clean/$(LOCAL) veryclean/$(LOCAL) | |
50 | clean/$(LOCAL): | |
51 | rm -f $($(@F)-LIST) apt.ent apt-verbatim.ent | |
52 | veryclean/$(LOCAL): | |
53 | # we are nuking the directory we are working in as it is auto-generated | |
54 | rm -rf '$(abspath .)' | |
55 | ||
56 | HAVE_PO4A=yes | |
57 | endif | |
58 | ||
59 | # take care of the rest | |
60 | INCLUDES := | |
61 | ||
62 | ifndef HAVE_PO4A | |
63 | # Strip from the source list any man pages we don't have compiled already | |
64 | SOURCE := $(wildcard $(SOURCE)) | |
65 | endif | |
66 | ||
67 | # Chain to the manpage rule | |
68 | ifneq ($(words $(SOURCE)),0) | |
69 | include $(MANPAGE_H) | |
70 | endif | |
71 | ||
72 | # DocBook XML Documents | |
73 | SOURCE := $(wildcard *.$(LC).dbk) | |
74 | include $(DOCBOOK_H) |