Makefile 3.4 KB

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