source: projects/vbootstrap/trunk/po/Makefile @ 2522

Revision 2522, 3.0 KB checked in by munepi, 13 years ago (diff)

updated vbootstrap: gettextlized vbootstrap.sh.in

Line 
1NAME=vbootstrap
2
3GETTEXT_PACKAGE = ${NAME}
4
5srcdir = .
6top_srcdir = ..
7
8prefix = /usr
9datadir = ${prefix}/share
10
11gnulocaledir = $(datadir)/locale
12
13DESTDIR=
14
15GMSGFMT = /usr/bin/msgfmt
16XGETTEXT = /usr/bin/xgettext
17MSGMERGE = msgmerge
18
19LANGS=ja
20POFILES=$(shell for lang in "$(LANGS)"; do printf "$$lang.po "; done)
21GMOFILES=$(shell for lang in "$(LANGS)"; do printf "$$lang.gmo "; done;)
22
23CATALOGS=$(GMOFILES)
24CATOBJEXT = .gmo
25INSTOBJEXT = .mo
26
27.SUFFIXES: .po .pox .gmo .mo .msg .cat
28
29.po.pox:
30        $(MAKE) $(GETTEXT_PACKAGE).pot
31        $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox
32
33.po.gmo:
34        file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
35          && rm -f $$file && $(GMSGFMT) -c -o $$file $<
36
37all: $(CATALOGS)
38
39$(GETTEXT_PACKAGE).pot: $(srcdir)/$(GETTEXT_PACKAGE).pot
40$(srcdir)/$(GETTEXT_PACKAGE).pot:
41        $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
42          --add-comments --from-code=UTF-8 --keyword=_ --keyword=N_ \
43          --flag=g_strdup_printf:1:c-format \
44          --flag=g_string_printf:2:c-format \
45          --flag=g_string_append_printf:2:c-format \
46          --flag=g_error_new:3:c-format \
47          --flag=g_set_error:4:c-format \
48          --flag=g_markup_printf_escaped:1:c-format \
49          --flag=g_log:3:c-format \
50          --flag=g_print:1:c-format \
51          --flag=g_printerr:1:c-format \
52          --flag=g_printf:1:c-format \
53          --flag=g_fprintf:2:c-format \
54          --flag=g_sprintf:2:c-format \
55          --flag=g_snprintf:3:c-format \
56          --flag=g_scanner_error:2:c-format \
57          --flag=g_scanner_warn:2:c-format \
58          --files-from=$(srcdir)/POTFILES.in \
59        && test ! -f $(GETTEXT_PACKAGE).po \
60           || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \
61                && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot )
62
63install: all
64        @mkdir -p $(DESTDIR)$(datadir)
65        @catalogs='$(CATALOGS)'; \
66        for cat in $$catalogs; do \
67          cat=`basename $$cat`; \
68          destdir=$(gnulocaledir); \
69          lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
70          dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
71          mkdir -p $$dir; \
72          install -m0644 $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
73          echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
74        done
75
76update-po: Makefile
77        $(MAKE) $(GETTEXT_PACKAGE).pot
78        tmpdir=`pwd`; \
79        cd $(srcdir); \
80        catalogs='$(CATALOGS)'; \
81        for cat in $$catalogs; do \
82          cat=`basename $$cat`; \
83          lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
84          echo "$$lang:"; \
85          if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \
86            if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
87              rm -f $$tmpdir/$$lang.new.po; \
88            else \
89              if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
90                :; \
91              else \
92                echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
93                rm -f $$tmpdir/$$lang.new.po; \
94                exit 1; \
95              fi; \
96            fi; \
97          else \
98            echo "msgmerge for $$cat failed!"; \
99            rm -f $$tmpdir/$$lang.new.po; \
100          fi; \
101        done
102
103clean:
104        rm -f *~ *.gmo
Note: See TracBrowser for help on using the repository browser.