]>
Commit | Line | Data |
---|---|---|
efa5b5de VZ |
1 | # this is the makefile for generating wxstd.po message catalog file and |
2 | # building lang.mo files from the translated lang.po catalogs | |
3 | ||
4 | # this makefile may be invoked to build either wxstd.po or any lang.mo | |
5 | ||
f6bcfd97 BP |
6 | # Autodetect the languages we support. Currently this relies on make |
7 | # being called with this dir as the cwd, but if we generate this file | |
8 | # with configure an explicit path should be specified -- RL. | |
9 | ||
10 | WX_LINGUAS := `ls *.po 2> /dev/null | sed -n 's/\(wxstd\)\?\.po//p'` | |
11 | ||
efa5b5de VZ |
12 | # the programs we use (TODO: use configure to detect them) |
13 | MSGFMT=msgfmt | |
ea8849aa | 14 | MSGMERGE=msgmerge |
efa5b5de VZ |
15 | XGETTEXT=xgettext |
16 | XARGS=xargs | |
17 | ||
ea8849aa | 18 | # common xgettext args: C++ syntax, use the specified macro names as markers |
f6bcfd97 | 19 | XGETTEXT_ARGS=-C -k_ -kwxGetTranslation -kwxTRANSLATE -s -j |
ea8849aa | 20 | |
efa5b5de VZ |
21 | # implicit rules |
22 | %.mo: %.po | |
23 | $(MSGFMT) -o $@ $< | |
24 | ||
ea8849aa VZ |
25 | # a PO file must be updated from wxstd.po to include new translations |
26 | %.po: wxstd.po | |
27 | if [ -f $@ ]; then $(MSGMERGE) $@ wxstd.po > $@.new && mv $@.new $@; else cp wxstd.po $@; fi | |
efa5b5de | 28 | |
ea8849aa | 29 | wxstd.po: |
f6bcfd97 | 30 | touch $@ |
ea8849aa VZ |
31 | find ../include -name "*.h" | $(XARGS) $(XGETTEXT) $(XGETTEXT_ARGS) -o wxstd.po |
32 | find ../src -name "*.cpp" | $(XARGS) $(XGETTEXT) $(XGETTEXT_ARGS) -o wxstd.po | |
efa5b5de | 33 | |
f6bcfd97 BP |
34 | allpo: force-update |
35 | @-for t in $(WX_LINGUAS); do $(MAKE) $$t.po; done | |
36 | ||
37 | allmo: | |
38 | @for t in $(WX_LINGUAS); do $(MAKE) $$t.mo; done | |
39 | ||
40 | force-update: | |
41 | $(RM) wxstd.po | |
42 | ||
efa5b5de VZ |
43 | # targets depending on this one will be always remade |
44 | FORCE: | |
45 | ||
f6bcfd97 BP |
46 | .PHONY: allpo allmo force-update |
47 | ||
efa5b5de | 48 | # $Id$ |