2001-10-09 06:18:19 +08:00
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file file be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
#
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
#
2002-02-23 01:35:07 +08:00
# - Modified by jacob berkman <jacob@ximian.com> to install
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
2006-08-29 22:46:32 +08:00
#
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
#
# We have the following line for use by intltoolize:
# INTLTOOL_MAKEFILE
2001-10-09 06:18:19 +08:00
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
2008-05-23 22:02:33 +08:00
XGETTEXT_KEYWORDS = --keyword= _ --keyword= N_ --keyword= Q_:1g --keyword= C_:1c,2
2002-02-23 01:35:07 +08:00
PACKAGE = @PACKAGE@
2001-10-09 06:18:19 +08:00
VERSION = @VERSION@
SHELL = /bin/sh
srcdir = @srcdir@
top_srcdir = @top_srcdir@
2007-08-16 07:45:23 +08:00
top_builddir = @top_builddir@
2001-10-09 06:18:19 +08:00
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
2003-01-09 05:38:12 +08:00
datadir = @datadir@
2006-08-29 22:46:32 +08:00
datarootdir = @datarootdir@
2003-01-09 05:38:12 +08:00
libdir = @libdir@
2006-08-29 22:46:32 +08:00
DATADIRNAME = @DATADIRNAME@
itlocaledir = $( prefix) /$( DATADIRNAME) /locale
2001-10-09 06:18:19 +08:00
subdir = po
2005-03-06 00:45:03 +08:00
install_sh = @install_sh@
2006-08-29 22:46:32 +08:00
# Automake >= 1.8 provides @mkdir_p@.
# Until it can be supposed, use the safe fallback:
mkdir_p = $( install_sh) -d
2001-10-09 06:18:19 +08:00
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
2003-01-09 05:38:12 +08:00
GMSGFMT = @GMSGFMT@
2001-10-09 06:18:19 +08:00
MSGFMT = @MSGFMT@
2003-01-09 05:38:12 +08:00
XGETTEXT = @XGETTEXT@
2003-03-22 10:43:05 +08:00
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
2005-03-06 00:45:03 +08:00
MSGMERGE = INTLTOOL_EXTRACT = $( INTLTOOL_EXTRACT) srcdir = $( srcdir) $( INTLTOOL_UPDATE) --gettext-package $( GETTEXT_PACKAGE) --dist
GENPOT = INTLTOOL_EXTRACT = $( INTLTOOL_EXTRACT) srcdir = $( srcdir) $( INTLTOOL_UPDATE) --gettext-package $( GETTEXT_PACKAGE) --pot
2001-10-09 06:18:19 +08:00
2006-08-29 22:46:32 +08:00
ALL_LINGUAS = @ALL_LINGUAS@
2001-10-09 06:18:19 +08:00
2006-08-29 22:46:32 +08:00
PO_LINGUAS = $( shell if test -r $( srcdir) /LINGUAS; then grep -v "^\#" $( srcdir) /LINGUAS; fi )
2001-10-09 06:18:19 +08:00
2007-08-16 07:45:23 +08:00
USER_LINGUAS = $( shell if test -n " $( LINGUAS) " ; then LLINGUAS = " $( LINGUAS) " ; ALINGUAS = " $( ALL_LINGUAS) " ; for lang in $$ LLINGUAS; do if test -n " `grep ^ $$ lang $$ $( srcdir) /LINGUAS` " -o -n " `echo $$ ALINGUAS|grep ' ? $$ lang ?'` " ; then printf " $$ lang " ; fi ; done ; fi )
USE_LINGUAS = $( shell if test -n " $( USER_LINGUAS) " ; then LLINGUAS = " $( USER_LINGUAS) " ; else if test -n " $( PO_LINGUAS) " ; then LLINGUAS = " $( PO_LINGUAS) " ; else LLINGUAS = " $( ALL_LINGUAS) " ; fi ; fi ; for lang in $$ LLINGUAS; do printf " $$ lang " ; done )
POFILES = $( shell LINGUAS = " $( USE_LINGUAS) " ; for lang in $$ LINGUAS; do printf " $$ lang.po " ; done )
2001-10-09 06:18:19 +08:00
2006-08-29 22:46:32 +08:00
DISTFILES = ChangeLog Makefile.in.in POTFILES.in $( POFILES)
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
2001-10-09 06:18:19 +08:00
POTFILES = \
2007-08-16 07:45:23 +08:00
# This comment gets stripped out
2001-10-09 06:18:19 +08:00
2007-08-16 07:45:23 +08:00
CATALOGS = $( shell LINGUAS = " $( USE_LINGUAS) " ; for lang in $$ LINGUAS; do printf " $$ lang.gmo " ; done )
2001-10-09 06:18:19 +08:00
.SUFFIXES :
2006-08-29 22:46:32 +08:00
.SUFFIXES : .po .pox .gmo .mo .msg .cat
2001-10-09 06:18:19 +08:00
.po.pox :
$( MAKE) $( GETTEXT_PACKAGE) .pot
2006-08-29 22:46:32 +08:00
$( MSGMERGE) $< $( GETTEXT_PACKAGE) .pot -o $* .pox
2001-10-09 06:18:19 +08:00
.po.mo :
$( MSGFMT) -o $@ $<
.po.gmo :
2005-03-06 00:45:03 +08:00
file = ` echo $* | sed 's,.*/,,' ` .gmo \
2001-10-09 06:18:19 +08:00
&& rm -f $$ file && $( GMSGFMT) -o $$ file $<
.po.cat :
sed -f ../intl/po2msg.sed < $< > $* .msg \
2006-08-29 22:46:32 +08:00
&& rm -f $@ && gencat $@ $* .msg
2001-10-09 06:18:19 +08:00
all : all -@USE_NLS @
2002-02-23 01:35:07 +08:00
all-yes : $( CATALOGS )
2001-10-09 06:18:19 +08:00
all-no :
2005-03-06 00:45:03 +08:00
$(GETTEXT_PACKAGE).pot : $( POTFILES )
2002-02-23 01:35:07 +08:00
$( GENPOT)
2001-10-09 06:18:19 +08:00
2006-08-29 22:46:32 +08:00
install : install -data
2001-10-09 06:18:19 +08:00
install-data : install -data -@USE_NLS @
install-data-no : all
install-data-yes : all
2006-08-29 22:46:32 +08:00
$( mkdir_p) $( DESTDIR) $( itlocaledir)
2007-08-16 07:45:23 +08:00
linguas = " $( USE_LINGUAS) " ; \
2006-08-29 22:46:32 +08:00
for lang in $$ linguas; do \
dir = $( DESTDIR) $( itlocaledir) /$$ lang/LC_MESSAGES; \
$( mkdir_p) $$ dir; \
if test -r $$ lang.gmo; then \
$( INSTALL_DATA) $$ lang.gmo $$ dir/$( GETTEXT_PACKAGE) .mo; \
echo " installing $$ lang.gmo as $$ dir/ $( GETTEXT_PACKAGE) .mo " ; \
2001-10-09 06:18:19 +08:00
else \
2006-08-29 22:46:32 +08:00
$( INSTALL_DATA) $( srcdir) /$$ lang.gmo $$ dir/$( GETTEXT_PACKAGE) .mo; \
echo " installing $( srcdir) / $$ lang.gmo as " \
" $$ dir/ $( GETTEXT_PACKAGE) .mo " ; \
2001-10-09 06:18:19 +08:00
fi ; \
2006-08-29 22:46:32 +08:00
if test -r $$ lang.gmo.m; then \
$( INSTALL_DATA) $$ lang.gmo.m $$ dir/$( GETTEXT_PACKAGE) .mo.m; \
echo " installing $$ lang.gmo.m as $$ dir/ $( GETTEXT_PACKAGE) .mo.m " ; \
2001-10-09 06:18:19 +08:00
else \
2006-08-29 22:46:32 +08:00
if test -r $( srcdir) /$$ lang.gmo.m ; then \
$( INSTALL_DATA) $( srcdir) /$$ lang.gmo.m \
$$ dir/$( GETTEXT_PACKAGE) .mo.m; \
echo " installing $( srcdir) / $$ lang.gmo.m as " \
" $$ dir/ $( GETTEXT_PACKAGE) .mo.m " ; \
2001-10-09 06:18:19 +08:00
else \
true; \
fi ; \
fi ; \
done
2006-08-29 22:46:32 +08:00
# Empty stubs to satisfy archaic automake needs
dvi info tags TAGS ID :
2001-10-09 06:18:19 +08:00
# Define this as empty until I found a useful application.
2007-08-16 07:45:23 +08:00
install-exec installcheck :
2001-10-09 06:18:19 +08:00
uninstall :
2007-08-16 07:45:23 +08:00
linguas = " $( USE_LINGUAS) " ; \
2006-08-29 22:46:32 +08:00
for lang in $$ linguas; do \
rm -f $( DESTDIR) $( itlocaledir) /$$ lang/LC_MESSAGES/$( GETTEXT_PACKAGE) .mo; \
rm -f $( DESTDIR) $( itlocaledir) /$$ lang/LC_MESSAGES/$( GETTEXT_PACKAGE) .mo.m; \
2001-10-09 06:18:19 +08:00
done
2006-08-29 22:46:32 +08:00
check : all $( GETTEXT_PACKAGE ) .pot
2007-08-16 07:45:23 +08:00
rm -f missing notexist
srcdir = $( srcdir) $( INTLTOOL_UPDATE) -m
if [ -r missing -o -r notexist ] ; then \
exit 1; \
fi
2001-10-09 06:18:19 +08:00
mostlyclean :
2006-08-29 22:46:32 +08:00
rm -f *.pox $( GETTEXT_PACKAGE) .pot *.old.po cat-id-tbl.tmp
2003-10-17 20:21:56 +08:00
rm -f .intltool-merge-cache
2001-10-09 06:18:19 +08:00
clean : mostlyclean
distclean : clean
2006-08-29 22:46:32 +08:00
rm -f Makefile Makefile.in POTFILES stamp-it
rm -f *.mo *.msg *.cat *.cat.m *.gmo
2001-10-09 06:18:19 +08:00
maintainer-clean : distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
2006-08-29 22:46:32 +08:00
rm -f Makefile.in.in
2001-10-09 06:18:19 +08:00
2006-08-29 22:46:32 +08:00
distdir = ../$( PACKAGE) -$( VERSION) /$( subdir)
dist distdir : $( DISTFILES )
2001-10-09 06:18:19 +08:00
dists = " $( DISTFILES) " ; \
2006-08-29 22:46:32 +08:00
extra_dists = " $( EXTRA_DISTFILES) " ; \
for file in $$ extra_dists; do \
test -f $( srcdir) /$$ file && dists = " $$ dists $( srcdir) / $$ file " ; \
done ; \
2001-10-09 06:18:19 +08:00
for file in $$ dists; do \
2006-08-29 22:46:32 +08:00
test -f $$ file || file = " $( srcdir) / $$ file " ; \
ln $$ file $( distdir) 2> /dev/null \
|| cp -p $$ file $( distdir) ; \
2001-10-09 06:18:19 +08:00
done
update-po : Makefile
$( MAKE) $( GETTEXT_PACKAGE) .pot
2003-09-01 08:50:35 +08:00
tmpdir = ` pwd ` ; \
2007-08-16 07:45:23 +08:00
linguas = " $( USE_LINGUAS) " ; \
2006-08-29 22:46:32 +08:00
for lang in $$ linguas; do \
2001-10-09 06:18:19 +08:00
echo " $$ lang: " ; \
2005-03-06 00:45:03 +08:00
result = " ` $( MSGMERGE) -o $$ tmpdir/ $$ lang.new.po $$ lang` " ; \
if $$ result; then \
if cmp $( srcdir) /$$ lang.po $$ tmpdir/$$ lang.new.po >/dev/null 2>& 1; then \
2003-09-01 08:50:35 +08:00
rm -f $$ tmpdir/$$ lang.new.po; \
else \
if mv -f $$ tmpdir/$$ lang.new.po $$ lang.po; then \
:; \
else \
echo " msgmerge for $$ lang.po failed: cannot move $$ tmpdir/ $$ lang.new.po to $$ lang.po " 1>& 2; \
rm -f $$ tmpdir/$$ lang.new.po; \
exit 1; \
fi ; \
fi ; \
2001-10-09 06:18:19 +08:00
else \
2006-08-29 22:46:32 +08:00
echo " msgmerge for $$ lang.gmo failed! " ; \
2003-09-01 08:50:35 +08:00
rm -f $$ tmpdir/$$ lang.new.po; \
2001-10-09 06:18:19 +08:00
fi ; \
done
2006-08-29 22:46:32 +08:00
Makefile POTFILES : stamp -it
@if test ! -f $@ ; then \
rm -f stamp-it; \
$( MAKE) stamp-it; \
fi
2007-08-16 07:45:23 +08:00
stamp-it : Makefile .in .in $( top_builddir ) /config .status POTFILES .in
cd $( top_builddir) \
2006-08-29 22:46:32 +08:00
&& CONFIG_FILES = $( subdir) /Makefile.in CONFIG_HEADERS = CONFIG_LINKS = \
2001-10-09 06:18:19 +08:00
$( SHELL) ./config.status
# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT :