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