Makefile 4.2 KB

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