From 984063e7a4189b31cff99e61736d01eb5d3906f6 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Mon, 26 Oct 2009 15:13:30 +0000 Subject: Properly clean mo files (finally fixes #570342) --- Index: gnome-doc-utils-0.18.0/tools/gnome-doc-utils.make =================================================================== --- gnome-doc-utils-0.18.0.orig/tools/gnome-doc-utils.make +++ gnome-doc-utils-0.18.0/tools/gnome-doc-utils.make @@ -266,6 +266,13 @@ _DOC_POFILES = $(if $(DOC_MODULE)$(DOC_I .PHONY: po po: $(_DOC_POFILES) +## @ _DOC_MOFILES +## The .mo files used for translating the document +_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES)) + +.PHONY: mo +mo: $(_DOC_MOFILES) + ## @ _DOC_LC_MODULES ## The top-level documentation files in all other locales _DOC_LC_MODULES = $(if $(DOC_MODULE), \ @@ -332,16 +339,19 @@ $(_DOC_POFILES): $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \ fi +$(_DOC_MOFILES): %.mo: %.po + msgfmt -o $@ $< + # FIXME: fix the dependancy # FIXME: hook xml2po up -$(_DOC_LC_DOCS) : $(_DOC_POFILES) +$(_DOC_LC_DOCS) : $(_DOC_MOFILES) $(_DOC_LC_DOCS) : $(_DOC_C_DOCS) if ! test -d $(dir $@); then mkdir $(dir $@); fi if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \ - po="$(dir $@)$(patsubst %/$(notdir $@),%,$@).po"; \ - if [ -f "$${po}" ]; then po="../$${po}"; else po="$(_DOC_ABS_SRCDIR)/$${po}"; fi; \ + mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ + if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \ (cd $(dir $@) && \ - $(_xml2po) -m $(_xml2po_mode) -e -p "$${po}" \ + $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \ "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp) @@ -386,12 +396,14 @@ clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $( clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML) clean-doc-lc: rm -f $(_DOC_LC_DOCS) + rm -f $(_DOC_MOFILES) @list='$(_DOC_POFILES)'; for po in $$list; do \ if ! test "$$po" -ef "$(srcdir)/$$po"; then \ echo "rm -f $$po"; \ rm -f "$$po"; \ fi; \ done +# .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x @for lc in C $(_DOC_REAL_LINGUAS); do \ if test -f "$$lc/.xml2po.mo"; then \ echo "rm -f $$lc/.xml2po.mo"; \