1a32e9e42Smrg# Makefile for PO directory in any package using GNU gettext. 2a32e9e42Smrg# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu> 3a32e9e42Smrg# 4a32e9e42Smrg# Copying and distribution of this file, with or without modification, 5a32e9e42Smrg# are permitted in any medium without royalty provided the copyright 6a32e9e42Smrg# notice and this notice are preserved. This file is offered as-is, 7a32e9e42Smrg# without any warranty. 8a32e9e42Smrg# 9a4e54154Smrg# Origin: gettext-0.19.7 10a32e9e42SmrgGETTEXT_MACRO_VERSION = 0.19 11a32e9e42Smrg 12a32e9e42SmrgPACKAGE = @PACKAGE@ 13a32e9e42SmrgVERSION = @VERSION@ 14a32e9e42SmrgPACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 15a32e9e42Smrg 16a32e9e42SmrgSED = @SED@ 17a32e9e42SmrgSHELL = /bin/sh 18a32e9e42Smrg@SET_MAKE@ 19a32e9e42Smrg 20a32e9e42Smrgsrcdir = @srcdir@ 21a32e9e42Smrgtop_srcdir = @top_srcdir@ 22a32e9e42SmrgVPATH = @srcdir@ 23a32e9e42Smrg 24a32e9e42Smrgprefix = @prefix@ 25a32e9e42Smrgexec_prefix = @exec_prefix@ 26a32e9e42Smrgdatarootdir = @datarootdir@ 27a32e9e42Smrgdatadir = @datadir@ 28a32e9e42Smrglocaledir = @localedir@ 29a32e9e42Smrggettextsrcdir = $(datadir)/gettext/po 30a32e9e42Smrg 31a32e9e42SmrgINSTALL = @INSTALL@ 32a32e9e42SmrgINSTALL_DATA = @INSTALL_DATA@ 33a32e9e42Smrg 34a32e9e42Smrg# We use $(mkdir_p). 35a32e9e42Smrg# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as 36a32e9e42Smrg# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, 37a32e9e42Smrg# @install_sh@ does not start with $(SHELL), so we add it. 38a32e9e42Smrg# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined 39a32e9e42Smrg# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake 40a32e9e42Smrg# versions, $(mkinstalldirs) and $(install_sh) are unused. 41a32e9e42Smrgmkinstalldirs = $(SHELL) @install_sh@ -d 42a32e9e42Smrginstall_sh = $(SHELL) @install_sh@ 43a32e9e42SmrgMKDIR_P = @MKDIR_P@ 44a32e9e42Smrgmkdir_p = @mkdir_p@ 45a32e9e42Smrg 46a32e9e42Smrg# When building gettext-tools, we prefer to use the built programs 47a32e9e42Smrg# rather than installed programs. However, we can't do that when we 48a32e9e42Smrg# are cross compiling. 49a32e9e42SmrgCROSS_COMPILING = @CROSS_COMPILING@ 50a32e9e42Smrg 51a32e9e42SmrgGMSGFMT_ = @GMSGFMT@ 52a32e9e42SmrgGMSGFMT_no = @GMSGFMT@ 53a32e9e42SmrgGMSGFMT_yes = @GMSGFMT_015@ 54a32e9e42SmrgGMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) 55a32e9e42SmrgMSGFMT_ = @MSGFMT@ 56a32e9e42SmrgMSGFMT_no = @MSGFMT@ 57a32e9e42SmrgMSGFMT_yes = @MSGFMT_015@ 58a32e9e42SmrgMSGFMT = $(MSGFMT_$(USE_MSGCTXT)) 59a32e9e42SmrgXGETTEXT_ = @XGETTEXT@ 60a32e9e42SmrgXGETTEXT_no = @XGETTEXT@ 61a32e9e42SmrgXGETTEXT_yes = @XGETTEXT_015@ 62a32e9e42SmrgXGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) 63a32e9e42SmrgMSGMERGE = msgmerge 64a32e9e42SmrgMSGMERGE_UPDATE = @MSGMERGE@ --update 65a32e9e42SmrgMSGINIT = msginit 66a32e9e42SmrgMSGCONV = msgconv 67a32e9e42SmrgMSGFILTER = msgfilter 68a32e9e42Smrg 69a32e9e42SmrgPOFILES = @POFILES@ 70a32e9e42SmrgGMOFILES = @GMOFILES@ 71a32e9e42SmrgUPDATEPOFILES = @UPDATEPOFILES@ 72a32e9e42SmrgDUMMYPOFILES = @DUMMYPOFILES@ 73a32e9e42SmrgDISTFILES.common = Makefile.in.in remove-potcdate.sin \ 74a32e9e42Smrg$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) 75a32e9e42SmrgDISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ 76a32e9e42Smrg$(POFILES) $(GMOFILES) \ 77a32e9e42Smrg$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) 78a32e9e42Smrg 79a32e9e42SmrgPOTFILES = \ 80a32e9e42Smrg 81a32e9e42SmrgCATALOGS = @CATALOGS@ 82a32e9e42Smrg 83a32e9e42SmrgPOFILESDEPS_ = $(srcdir)/$(DOMAIN).pot 84a32e9e42SmrgPOFILESDEPS_yes = $(POFILESDEPS_) 85a32e9e42SmrgPOFILESDEPS_no = 86a32e9e42SmrgPOFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) 87a32e9e42Smrg 88a32e9e42SmrgDISTFILESDEPS_ = update-po 89a32e9e42SmrgDISTFILESDEPS_yes = $(DISTFILESDEPS_) 90a32e9e42SmrgDISTFILESDEPS_no = 91a32e9e42SmrgDISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) 92a32e9e42Smrg 93a32e9e42Smrg# Makevars gets inserted here. (Don't remove this line!) 94a32e9e42Smrg 95a32e9e42Smrg.SUFFIXES: 96a32e9e42Smrg.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update 97a32e9e42Smrg 98a32e9e42Smrg.po.mo: 99a32e9e42Smrg @echo "$(MSGFMT) -c -o $@ $<"; \ 100a32e9e42Smrg $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ 101a32e9e42Smrg 102a32e9e42Smrg.po.gmo: 103a32e9e42Smrg @lang=`echo $* | sed -e 's,.*/,,'`; \ 104a32e9e42Smrg test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ 105a32e9e42Smrg echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ 106a32e9e42Smrg cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo 107a32e9e42Smrg 108a32e9e42Smrg.sin.sed: 109a32e9e42Smrg sed -e '/^#/d' $< > t-$@ 110a32e9e42Smrg mv t-$@ $@ 111a32e9e42Smrg 112a32e9e42Smrg 113a32e9e42Smrgall: all-@USE_NLS@ 114a32e9e42Smrg 115a32e9e42Smrgall-yes: stamp-po 116a32e9e42Smrgall-no: 117a32e9e42Smrg 118a32e9e42Smrg# Ensure that the gettext macros and this Makefile.in.in are in sync. 119a32e9e42SmrgCHECK_MACRO_VERSION = \ 120a32e9e42Smrg test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ 121a32e9e42Smrg || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ 122a32e9e42Smrg exit 1; \ 123a32e9e42Smrg } 124a32e9e42Smrg 125a32e9e42Smrg# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no 126a32e9e42Smrg# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because 127a32e9e42Smrg# we don't want to bother translators with empty POT files). We assume that 128a32e9e42Smrg# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. 129a32e9e42Smrg# In this case, stamp-po is a nop (i.e. a phony target). 130a32e9e42Smrg 131a32e9e42Smrg# stamp-po is a timestamp denoting the last time at which the CATALOGS have 132a32e9e42Smrg# been loosely updated. Its purpose is that when a developer or translator 133a32e9e42Smrg# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, 134a32e9e42Smrg# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent 135a32e9e42Smrg# invocations of "make" will do nothing. This timestamp would not be necessary 136a32e9e42Smrg# if updating the $(CATALOGS) would always touch them; however, the rule for 137a32e9e42Smrg# $(POFILES) has been designed to not touch files that don't need to be 138a32e9e42Smrg# changed. 139a32e9e42Smrgstamp-po: $(srcdir)/$(DOMAIN).pot 140a32e9e42Smrg @$(CHECK_MACRO_VERSION) 141a32e9e42Smrg test ! -f $(srcdir)/$(DOMAIN).pot || \ 142a32e9e42Smrg test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) 143a32e9e42Smrg @test ! -f $(srcdir)/$(DOMAIN).pot || { \ 144a32e9e42Smrg echo "touch stamp-po" && \ 145a32e9e42Smrg echo timestamp > stamp-poT && \ 146a32e9e42Smrg mv stamp-poT stamp-po; \ 147a32e9e42Smrg } 148a32e9e42Smrg 149a32e9e42Smrg# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', 150a32e9e42Smrg# otherwise packages like GCC can not be built if only parts of the source 151a32e9e42Smrg# have been downloaded. 152a32e9e42Smrg 153a32e9e42Smrg# This target rebuilds $(DOMAIN).pot; it is an expensive operation. 154a32e9e42Smrg# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. 155a32e9e42Smrg# The determination of whether the package xyz is a GNU one is based on the 156a32e9e42Smrg# heuristic whether some file in the top level directory mentions "GNU xyz". 157a32e9e42Smrg# If GNU 'find' is available, we avoid grepping through monster files. 158a32e9e42Smrg$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed 159a32e9e42Smrg package_gnu="$(PACKAGE_GNU)"; \ 160a32e9e42Smrg test -n "$$package_gnu" || { \ 161a32e9e42Smrg if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ 162a32e9e42Smrg LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ 163a32e9e42Smrg -size -10000000c -exec grep 'GNU @PACKAGE@' \ 164a32e9e42Smrg /dev/null '{}' ';' 2>/dev/null; \ 165a32e9e42Smrg else \ 166a32e9e42Smrg LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ 167a32e9e42Smrg fi; \ 168a32e9e42Smrg } | grep -v 'libtool:' >/dev/null; then \ 169a32e9e42Smrg package_gnu=yes; \ 170a32e9e42Smrg else \ 171a32e9e42Smrg package_gnu=no; \ 172a32e9e42Smrg fi; \ 173a32e9e42Smrg }; \ 174a32e9e42Smrg if test "$$package_gnu" = "yes"; then \ 175a32e9e42Smrg package_prefix='GNU '; \ 176a32e9e42Smrg else \ 177a32e9e42Smrg package_prefix=''; \ 178a32e9e42Smrg fi; \ 179a32e9e42Smrg if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ 180a32e9e42Smrg msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ 181a32e9e42Smrg else \ 182a32e9e42Smrg msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ 183a32e9e42Smrg fi; \ 184a32e9e42Smrg case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ 185a32e9e42Smrg '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ 186a32e9e42Smrg $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ 187a32e9e42Smrg --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ 188a32e9e42Smrg --files-from=$(srcdir)/POTFILES.in \ 189a32e9e42Smrg --copyright-holder='$(COPYRIGHT_HOLDER)' \ 190a32e9e42Smrg --msgid-bugs-address="$$msgid_bugs_address" \ 191a32e9e42Smrg ;; \ 192a32e9e42Smrg *) \ 193a32e9e42Smrg $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ 194a32e9e42Smrg --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ 195a32e9e42Smrg --files-from=$(srcdir)/POTFILES.in \ 196a32e9e42Smrg --copyright-holder='$(COPYRIGHT_HOLDER)' \ 197a32e9e42Smrg --package-name="$${package_prefix}@PACKAGE@" \ 198a32e9e42Smrg --package-version='@VERSION@' \ 199a32e9e42Smrg --msgid-bugs-address="$$msgid_bugs_address" \ 200a32e9e42Smrg ;; \ 201a32e9e42Smrg esac 202a32e9e42Smrg test ! -f $(DOMAIN).po || { \ 203a32e9e42Smrg if test -f $(srcdir)/$(DOMAIN).pot-header; then \ 204a32e9e42Smrg sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ 205a32e9e42Smrg cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ 206a32e9e42Smrg rm -f $(DOMAIN).1po; \ 207a32e9e42Smrg fi; \ 208a32e9e42Smrg if test -f $(srcdir)/$(DOMAIN).pot; then \ 209a32e9e42Smrg sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ 210a32e9e42Smrg sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ 211a32e9e42Smrg if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ 212a32e9e42Smrg rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ 213a32e9e42Smrg else \ 214a32e9e42Smrg rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ 215a32e9e42Smrg mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ 216a32e9e42Smrg fi; \ 217a32e9e42Smrg else \ 218a32e9e42Smrg mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ 219a32e9e42Smrg fi; \ 220a32e9e42Smrg } 221a32e9e42Smrg 222a32e9e42Smrg# This rule has no dependencies: we don't need to update $(DOMAIN).pot at 223a32e9e42Smrg# every "make" invocation, only create it when it is missing. 224a32e9e42Smrg# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. 225a32e9e42Smrg$(srcdir)/$(DOMAIN).pot: 226a32e9e42Smrg $(MAKE) $(DOMAIN).pot-update 227a32e9e42Smrg 228a32e9e42Smrg# This target rebuilds a PO file if $(DOMAIN).pot has changed. 229a32e9e42Smrg# Note that a PO file is not touched if it doesn't need to be changed. 230a32e9e42Smrg$(POFILES): $(POFILESDEPS) 231a32e9e42Smrg @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ 232a32e9e42Smrg if test -f "$(srcdir)/$${lang}.po"; then \ 233a32e9e42Smrg test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ 234a32e9e42Smrg test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ 235a32e9e42Smrg echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ 236a32e9e42Smrg cd $(srcdir) \ 237a32e9e42Smrg && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ 238a32e9e42Smrg '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ 239a32e9e42Smrg $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ 240a32e9e42Smrg *) \ 241a32e9e42Smrg $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ 242a32e9e42Smrg esac; \ 243a32e9e42Smrg }; \ 244a32e9e42Smrg else \ 245a32e9e42Smrg $(MAKE) $${lang}.po-create; \ 246a32e9e42Smrg fi 247a32e9e42Smrg 248a32e9e42Smrg 249a32e9e42Smrginstall: install-exec install-data 250a32e9e42Smrginstall-exec: 251a32e9e42Smrginstall-data: install-data-@USE_NLS@ 252a32e9e42Smrg if test "$(PACKAGE)" = "gettext-tools"; then \ 253a32e9e42Smrg $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ 254a32e9e42Smrg for file in $(DISTFILES.common) Makevars.template; do \ 255a32e9e42Smrg $(INSTALL_DATA) $(srcdir)/$$file \ 256a32e9e42Smrg $(DESTDIR)$(gettextsrcdir)/$$file; \ 257a32e9e42Smrg done; \ 258a32e9e42Smrg for file in Makevars; do \ 259a32e9e42Smrg rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ 260a32e9e42Smrg done; \ 261a32e9e42Smrg else \ 262a32e9e42Smrg : ; \ 263a32e9e42Smrg fi 264a32e9e42Smrginstall-data-no: all 265a32e9e42Smrginstall-data-yes: all 266a32e9e42Smrg @catalogs='$(CATALOGS)'; \ 267a32e9e42Smrg for cat in $$catalogs; do \ 268a32e9e42Smrg cat=`basename $$cat`; \ 269a32e9e42Smrg lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ 270a32e9e42Smrg dir=$(localedir)/$$lang/LC_MESSAGES; \ 271a32e9e42Smrg $(mkdir_p) $(DESTDIR)$$dir; \ 272a32e9e42Smrg if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ 273a32e9e42Smrg $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ 274a32e9e42Smrg echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ 275a32e9e42Smrg for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ 276a32e9e42Smrg if test -n "$$lc"; then \ 277a32e9e42Smrg if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ 278a32e9e42Smrg link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ 279a32e9e42Smrg mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ 280a32e9e42Smrg mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ 281a32e9e42Smrg (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ 282a32e9e42Smrg for file in *; do \ 283a32e9e42Smrg if test -f $$file; then \ 284a32e9e42Smrg ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ 285a32e9e42Smrg fi; \ 286a32e9e42Smrg done); \ 287a32e9e42Smrg rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ 288a32e9e42Smrg else \ 289a32e9e42Smrg if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ 290a32e9e42Smrg :; \ 291a32e9e42Smrg else \ 292a32e9e42Smrg rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ 293a32e9e42Smrg mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ 294a32e9e42Smrg fi; \ 295a32e9e42Smrg fi; \ 296a32e9e42Smrg rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ 297a32e9e42Smrg ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ 298a32e9e42Smrg ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ 299a32e9e42Smrg cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ 300a32e9e42Smrg echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ 301a32e9e42Smrg fi; \ 302a32e9e42Smrg done; \ 303a32e9e42Smrg done 304a32e9e42Smrg 305a32e9e42Smrginstall-strip: install 306a32e9e42Smrg 307a32e9e42Smrginstalldirs: installdirs-exec installdirs-data 308a32e9e42Smrginstalldirs-exec: 309a32e9e42Smrginstalldirs-data: installdirs-data-@USE_NLS@ 310a32e9e42Smrg if test "$(PACKAGE)" = "gettext-tools"; then \ 311a32e9e42Smrg $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ 312a32e9e42Smrg else \ 313a32e9e42Smrg : ; \ 314a32e9e42Smrg fi 315a32e9e42Smrginstalldirs-data-no: 316a32e9e42Smrginstalldirs-data-yes: 317a32e9e42Smrg @catalogs='$(CATALOGS)'; \ 318a32e9e42Smrg for cat in $$catalogs; do \ 319a32e9e42Smrg cat=`basename $$cat`; \ 320a32e9e42Smrg lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ 321a32e9e42Smrg dir=$(localedir)/$$lang/LC_MESSAGES; \ 322a32e9e42Smrg $(mkdir_p) $(DESTDIR)$$dir; \ 323a32e9e42Smrg for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ 324a32e9e42Smrg if test -n "$$lc"; then \ 325a32e9e42Smrg if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ 326a32e9e42Smrg link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ 327a32e9e42Smrg mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ 328a32e9e42Smrg mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ 329a32e9e42Smrg (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ 330a32e9e42Smrg for file in *; do \ 331a32e9e42Smrg if test -f $$file; then \ 332a32e9e42Smrg ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ 333a32e9e42Smrg fi; \ 334a32e9e42Smrg done); \ 335a32e9e42Smrg rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ 336a32e9e42Smrg else \ 337a32e9e42Smrg if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ 338a32e9e42Smrg :; \ 339a32e9e42Smrg else \ 340a32e9e42Smrg rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ 341a32e9e42Smrg mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ 342a32e9e42Smrg fi; \ 343a32e9e42Smrg fi; \ 344a32e9e42Smrg fi; \ 345a32e9e42Smrg done; \ 346a32e9e42Smrg done 347a32e9e42Smrg 348a32e9e42Smrg# Define this as empty until I found a useful application. 349a32e9e42Smrginstallcheck: 350a32e9e42Smrg 351a32e9e42Smrguninstall: uninstall-exec uninstall-data 352a32e9e42Smrguninstall-exec: 353a32e9e42Smrguninstall-data: uninstall-data-@USE_NLS@ 354a32e9e42Smrg if test "$(PACKAGE)" = "gettext-tools"; then \ 355a32e9e42Smrg for file in $(DISTFILES.common) Makevars.template; do \ 356a32e9e42Smrg rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ 357a32e9e42Smrg done; \ 358a32e9e42Smrg else \ 359a32e9e42Smrg : ; \ 360a32e9e42Smrg fi 361a32e9e42Smrguninstall-data-no: 362a32e9e42Smrguninstall-data-yes: 363a32e9e42Smrg catalogs='$(CATALOGS)'; \ 364a32e9e42Smrg for cat in $$catalogs; do \ 365a32e9e42Smrg cat=`basename $$cat`; \ 366a32e9e42Smrg lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ 367a32e9e42Smrg for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ 368a32e9e42Smrg rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ 369a32e9e42Smrg done; \ 370a32e9e42Smrg done 371a32e9e42Smrg 372a32e9e42Smrgcheck: all 373a32e9e42Smrg 374a32e9e42Smrginfo dvi ps pdf html tags TAGS ctags CTAGS ID: 375a32e9e42Smrg 376a32e9e42Smrgmostlyclean: 377a32e9e42Smrg rm -f remove-potcdate.sed 378a32e9e42Smrg rm -f stamp-poT 379a32e9e42Smrg rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po 380a32e9e42Smrg rm -fr *.o 381a32e9e42Smrg 382a32e9e42Smrgclean: mostlyclean 383a32e9e42Smrg 384a32e9e42Smrgdistclean: clean 385a32e9e42Smrg rm -f Makefile Makefile.in POTFILES *.mo 386a32e9e42Smrg 387a32e9e42Smrgmaintainer-clean: distclean 388a32e9e42Smrg @echo "This command is intended for maintainers to use;" 389a32e9e42Smrg @echo "it deletes files that may require special tools to rebuild." 390a32e9e42Smrg rm -f stamp-po $(GMOFILES) 391a32e9e42Smrg 392a32e9e42Smrgdistdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) 393a32e9e42Smrgdist distdir: 394a32e9e42Smrg test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) 395a32e9e42Smrg @$(MAKE) dist2 396a32e9e42Smrg# This is a separate target because 'update-po' must be executed before. 397a32e9e42Smrgdist2: stamp-po $(DISTFILES) 398a32e9e42Smrg dists="$(DISTFILES)"; \ 399a32e9e42Smrg if test "$(PACKAGE)" = "gettext-tools"; then \ 400a32e9e42Smrg dists="$$dists Makevars.template"; \ 401a32e9e42Smrg fi; \ 402a32e9e42Smrg if test -f $(srcdir)/$(DOMAIN).pot; then \ 403a32e9e42Smrg dists="$$dists $(DOMAIN).pot stamp-po"; \ 404a32e9e42Smrg fi; \ 405a32e9e42Smrg if test -f $(srcdir)/ChangeLog; then \ 406a32e9e42Smrg dists="$$dists ChangeLog"; \ 407a32e9e42Smrg fi; \ 408a32e9e42Smrg for i in 0 1 2 3 4 5 6 7 8 9; do \ 409a32e9e42Smrg if test -f $(srcdir)/ChangeLog.$$i; then \ 410a32e9e42Smrg dists="$$dists ChangeLog.$$i"; \ 411a32e9e42Smrg fi; \ 412a32e9e42Smrg done; \ 413a32e9e42Smrg if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ 414a32e9e42Smrg for file in $$dists; do \ 415a32e9e42Smrg if test -f $$file; then \ 416a32e9e42Smrg cp -p $$file $(distdir) || exit 1; \ 417a32e9e42Smrg else \ 418a32e9e42Smrg cp -p $(srcdir)/$$file $(distdir) || exit 1; \ 419a32e9e42Smrg fi; \ 420a32e9e42Smrg done 421a32e9e42Smrg 422a32e9e42Smrgupdate-po: Makefile 423a32e9e42Smrg $(MAKE) $(DOMAIN).pot-update 424a32e9e42Smrg test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) 425a32e9e42Smrg $(MAKE) update-gmo 426a32e9e42Smrg 427a32e9e42Smrg# General rule for creating PO files. 428a32e9e42Smrg 429a32e9e42Smrg.nop.po-create: 430a32e9e42Smrg @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ 431a32e9e42Smrg echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ 432a32e9e42Smrg exit 1 433a32e9e42Smrg 434a32e9e42Smrg# General rule for updating PO files. 435a32e9e42Smrg 436a32e9e42Smrg.nop.po-update: 437a32e9e42Smrg @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ 438a32e9e42Smrg if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \ 439a32e9e42Smrg tmpdir=`pwd`; \ 440a32e9e42Smrg echo "$$lang:"; \ 441a32e9e42Smrg test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ 442a32e9e42Smrg echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ 443a32e9e42Smrg cd $(srcdir); \ 444a32e9e42Smrg if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ 445a32e9e42Smrg '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ 446a32e9e42Smrg $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ 447a32e9e42Smrg *) \ 448a32e9e42Smrg $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ 449a32e9e42Smrg esac; \ 450a32e9e42Smrg }; then \ 451a32e9e42Smrg if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ 452a32e9e42Smrg rm -f $$tmpdir/$$lang.new.po; \ 453a32e9e42Smrg else \ 454a32e9e42Smrg if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ 455a32e9e42Smrg :; \ 456a32e9e42Smrg else \ 457a32e9e42Smrg echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ 458a32e9e42Smrg exit 1; \ 459a32e9e42Smrg fi; \ 460a32e9e42Smrg fi; \ 461a32e9e42Smrg else \ 462a32e9e42Smrg echo "msgmerge for $$lang.po failed!" 1>&2; \ 463a32e9e42Smrg rm -f $$tmpdir/$$lang.new.po; \ 464a32e9e42Smrg fi 465a32e9e42Smrg 466a32e9e42Smrg$(DUMMYPOFILES): 467a32e9e42Smrg 468a32e9e42Smrgupdate-gmo: Makefile $(GMOFILES) 469a32e9e42Smrg @: 470a32e9e42Smrg 471a32e9e42Smrg# Recreate Makefile by invoking config.status. Explicitly invoke the shell, 472a32e9e42Smrg# because execution permission bits may not work on the current file system. 473a32e9e42Smrg# Use @SHELL@, which is the shell determined by autoconf for the use by its 474a32e9e42Smrg# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. 475a32e9e42SmrgMakefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ 476a32e9e42Smrg cd $(top_builddir) \ 477a32e9e42Smrg && @SHELL@ ./config.status $(subdir)/$@.in po-directories 478a32e9e42Smrg 479a32e9e42Smrgforce: 480a32e9e42Smrg 481a32e9e42Smrg# Tell versions [3.59,3.63) of GNU make not to export all variables. 482a32e9e42Smrg# Otherwise a system limit (for SysV at least) may be exceeded. 483a32e9e42Smrg.NOEXPORT: 484