X-Git-Url: https://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/ac1292661f52ce20168bb942ad207f5b935669ef..HEAD:/snippet/gettext.mk diff --git a/snippet/gettext.mk b/snippet/gettext.mk index 3800114..68b6113 100644 --- a/snippet/gettext.mk +++ b/snippet/gettext.mk @@ -1,4 +1,4 @@ -# Copyright © 2011-2012 Nick Bowler +# Copyright © 2011-2012, 2023 Nick Bowler # # Automake fragment to distribute and install gettext .po/.mo files, intended # for use in a non-recursive build setup. This does not include rules to @@ -20,38 +20,41 @@ EXTRA_DIST += po/LINGUAS $(POFILES) $(ALL_MOFILES) MAINTAINERCLEANFILES += $(ALL_MOFILES) .po.mo: - $(AM_V_at) $(MKDIR_P) $(@D) + $(AM_V_at) $(MKDIR_P) ./$(@D) $(AM_V_GEN) $(MSGFMT) $(MSGFMTFLAGS) -c -o $@ $< install-data-local: install-mofiles install-mofiles: $(MOFILES) - for mo in $?; do \ - lang=`expr "$$mo" : '.*/\(.*\)\.mo' \| "$$mo" : '\(.*\)\.mo'`; \ - test x"$$lang" = x"" && exit 1; \ - inst="$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES"; \ - (set -x; $(MKDIR_P) "$$inst") \ - || exit $$?; \ - (set -x; $(INSTALL_DATA) "$$mo" "$$inst/$(PACKAGE).mo") \ - || exit $$?; \ + mos='$(MOFILES)'; for mo in $$mos; do \ + save_IFS=$$IFS; IFS=/.; \ + set x $$mo; shift; eval 'set x $$mo; lang=$$'$$#; \ + IFS=$$save_IFS; \ + d="$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES"; \ + echo "$(MKDIR_P) $$d"; $(MKDIR_P) "$$d" || exit; \ + test -f "$$mo" && s="$$mo" || s="$(srcdir)/$$mo"; \ + d="$$d/$(PACKAGE).mo"; \ + echo "$(INSTALL_DATA) $$s $$d"; $(INSTALL_DATA) "$$s" "$$d" || exit; \ done .PHONY: install-mofiles installdirs-local: installdirs-mofiles installdirs-mofiles: - for mo in $(MOFILES); do \ - lang=`expr "$$mo" : '.*/\(.*\)\.mo' \| "$$mo" : '\(.*\)\.mo'`; \ - test x"$$lang" = x"" && exit 1; \ - inst="$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES"; \ - (set -x; $(MKDIR_P) "$$inst") || exit $$?; \ - done + d= mos='$(MOFILES)'; for mo in $$mos; do \ + save_IFS=$$IFS; IFS=/.; \ + set x $$mo; shift; eval 'set x $$mo; lang=$$'$$#; \ + IFS=$$save_IFS; \ + d="$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES"; \ + echo "$(MKDIR_P) $$d"; $(MKDIR_P) "$$d" || exit; \ + done; .PHONY: installdirs-mofiles uninstall-local: uninstall-mofiles uninstall-mofiles: - for mo in $(ALL_MOFILES); do \ - lang=`expr "$$mo" : '.*/\(.*\)\.mo' \| "$$mo" : '\(.*\)\.mo'`; \ - test x"$$lang" = x"" && exit 1; \ - inst="$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES"; \ - (set -x; cd "$$inst" && rm -f '$(PACKAGE).mo'); \ + mos='$(ALL_MOFILES)'; for mo in $$mos; do \ + save_IFS=$$IFS; IFS=/.; \ + set x $$mo; shift; eval 'set x $$mo; lang=$$'$$#; \ + IFS=$$save_IFS; \ + d="$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo"; \ + echo "rm -f $$d"; rm -f "$$d"; :; \ done .PHONY: uninstall-mofiles