view po/Makefile.mingw @ 9531:06fe6ed7f63a

[gaim-migrate @ 10358] "How do you update your po files ("make update-po" or ./update.pl)? update.pl has some advantages. But update.pl has also a small bug. In rare cases (double msgid's etc.) update.pl kills your po-file. This can happen, if msgmerge fails and if you have an old gettext version. The problem is here: po/update.pl:149: ... $d="mv $LANG.po $LANG.po.old && msgmerge $LANG.po.old $PACKAGE.pot -o +$LANG.po"; ... If msgmerge fails, the file $LANG.po will be overwritten. "make update-po" has not this problem, because it uses a temporary file: ... if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \ mv -f $$lang.new.po $$lang.po; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$lang.new.po; \ fi; \ ... I patched po/update.pl. Now it uses a temporary file. Also, update2.pl lists files in po/POTFILES.in which have no i18n strings as a warning." -- Bjoern Voigt committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 14 Jul 2004 20:14:48 +0000
parents 580070695352
children 6dcfec6f2f7c
line wrap: on
line source

# Makefile.mingw
# 
# Description: Makefile to generate mo files
#

PACKAGE = gaim

##
## PATHS
##

srcdir = .
GAIM_TOP = ..
GAIM_INSTALL_DIR = ../win32-install-dir
LOCALEDIR = $(GAIM_INSTALL_DIR)/locale
GTK_BIN = ../../win32-dev/gtk_2_0/bin

##
## TOOLS
##

GMSGFMT = $(GTK_BIN)/msgfmt


.SUFFIXES:
.SUFFIXES: .po .gmo


##
## SOURCES, OBJECTS
##

CATALOGS = $(patsubst %.po,%.gmo,$(wildcard *.po))

##
## RULES
##

.po.gmo:
	rm -f $@ && $(GMSGFMT) --statistics -o $@ $<


##
## TARGETS
##


all: $(CATALOGS)

install: all
	mkdir -p $(LOCALEDIR)
	@catalogs='$(CATALOGS)'; \
	for cat in $$catalogs; do \
	  cat=`basename $$cat`; \
	  lang=`echo $$cat | sed 's/\.gmo$$//'`; \
	  dir=$(LOCALEDIR)/$$lang/LC_MESSAGES; \
	  mkdir -p $$dir; \
	  if test -r $$cat; then \
	    cp $$cat $$dir/$(PACKAGE).mo; \
	    echo "installing $$cat as $$dir/$(PACKAGE).mo"; \
	  else \
	    cp $(srcdir)/$$cat $$dir/$(PACKAGE).mo; \
	    echo "installing $(srcdir)/$$cat as" \
		 "$$dir/$(PACKAGE).mo"; \
	  fi; \
	done

clean:
	rm -f *.gmo