Rev 56 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
# Makefile for various po files.srcdir = .targetdir= ./LocaleData#CATALOGS = $(addsuffix .po, LINGUAS)CATALOGS = $(LINGUAS)MO_FILES = $(addsuffix .mo, $(LINGUAS))MSGMERGE = msgmergeMSGFMT = msgfmtXGETTEXT = xgettextCATOBJEXT = .poinclude PACKAGETD = $(strip $(TEXTDOMAIN))default: helpall: $(TD).pot update-po update-mo installhelp:@echo "Available targets:"@echo " pot - remake master catalog"@echo " update-po - merge po files"@echo " update-mo - regenerate mo files"@echo " install - install mo files"@echo " all - all of the above"POTFILES = $(srcdir)/POTFILES.in \$(shell cat $(srcdir)/POTFILES.in)pot: $(TD).potclean:rm -f *~ *.bak *.mo# FIXME: The parameter --from-code is only needed if your sources contain# any 8 bit data (even in comments). UTF-8 is only a guess here, but it# will at least accept any 8 bit data.## The parameter "--language=perl" is not strictly needed because the# source language of all our files will be auto-detected by xgettext# by their filename extension. You should even avoid this parameter# if you want to extract strings from multiple source languages.# --keyword --keyword='_' --keyword='$$__' --keyword=__ --keyword=__x \# --keyword=__n:1,2 --keyword=__nx:1,2 --keyword=__xn:1,2 \# --keyword=__p:1c,2 --keyword=__np:1c,2,3 \# --keyword=__npx:1c,2,3 --keyword=N__ --keyword=N__n:1,2 \# --keyword=N__p:1c,2 --keyword=N__np:1c,2,3 --keyword=%__ \$(TD).pot: $(POTFILES)$(XGETTEXT) --output=$(srcdir)/$(TD).pox --from-code=utf-8 \--add-comments=TRANSLATORS: --files-from=$(srcdir)/POTFILES.in \--package-name="$(PACKAGE_NAME)" \--package-version="$(PACKAGE_VERSION)" \--copyright-holder="$(COPYRIGHT_HOLDER)" \--msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \rm -f $@ && mv $(TD).pox $@install: $(MO_FILES)cd $(srcdir); \targetdir='$(targetdir)'; \languages='$(LINGUAS)'; \for lang in $$languages; do \mkdir -p "$$targetdir/$$lang/LC_MESSAGES" || exit 1; \dest="$$targetdir/$$lang/LC_MESSAGES/$(TD).mo"; \cat="$$lang.mo"; \echo "installing $$cat as $$dest"; \cp -f $$cat $$dest && chmod 644 $$dest || exit 1; \doneupdate-mo: $(MO_FILES)update-po:$(MAKE) $(TD).potcd $(srcdir); \catalogs='$(CATALOGS)'; \for cat in $$catalogs; do \cat=`basename $$cat`; \lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \mv $$lang.po $$lang.old.po; \echo "$$lang:"; \if $(MSGMERGE) $$lang.old.po $(TD).pot -o $$lang.po; then \rm -f $$lang.old.po; \else \echo "msgmerge for $$cat failed!"; \rm -f $$lang.po; \mv $$lang.old.po $$lang.po; \fi; \done.SUFFIXES:.SUFFIXES: .po .mo.po.mo:$(MSGFMT) --check --statistics --verbose -o $@ $<