## Makefile for the po subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001 Free Software Foundation, Inc.
+## Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
-PACKAGE = @PACKAGE@
-
-# Necessary files.
-DISTFILES = \
- Makefile.am Makefile.in POTFILES.in $(PACKAGE).pot \
- $(LOCALE_IN)
+include $(top_srcdir)/fragment.am
# Location of installation directories.
locale_installdir = $(DESTDIR)$(datadir)/locale
-locale_builddir = @glibcpp_localedir@
+locale_builddir = $(glibcxx_localedir)
# Tell automake that foo.po makes foo.mo
SUFFIXES = .po .mo
-LOCALE_IN = @POFILES@
-LOCALE_OUT = @glibcpp_MOFILES@
+LOCALE_IN = $(glibcxx_POFILES)
+LOCALE_OUT = $(glibcxx_MOFILES)
+
+MSGFMT = msgfmt
+
+# Necessary files.
+EXTRA_DIST = string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN)
.po.mo:
- cat=`basename $<`; \
- lang=`echo $$cat | sed 's/\.po$$//'`; \
- dir=$(locale_builddir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $$dir; \
- $(MSGFMT) $< -o $$dir/$(PACKAGE).mo
+ $(MSGFMT) -o $@ $<
-all-local: all-local-@USE_NLS@
-all-local-no:
+all-local: all-local-$(USE_NLS)
+all-local-no:
all-local-yes: $(LOCALE_OUT)
-# Install rules here.
+# 'make check' needs the catalogs constructed in build directory.
+check: check-$(USE_NLS)
+check-no:
+check-yes:
+ $(mkinstalldirs) $(locale_builddir)
+ catalogs='$(LOCALE_OUT)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed 's/\.mo$$//'`; \
+ install_dir=$(locale_builddir)/$$lang/LC_MESSAGES; \
+ $(mkinstalldirs) $$install_dir; \
+ $(INSTALL_DATA) $$cat $$install_dir/$(PACKAGE).mo; \
+ done
+
+# Install rules here.
# Wish install could just `cp -R ./share $(locale_installdir)` ...
-install-data-local: install-data-local-@USE_NLS@
+install-data-local: install-data-local-$(USE_NLS)
install-data-local-no:
install-data-local-yes: all-local-yes
- $(mkinstalldirs) $(locale_installdir)
- @catalogs='$(LOCALE_OUT)'; \
+ $(mkinstalldirs) $(locale_installdir)
+ catalogs='$(LOCALE_OUT)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\.mo$$//'`; \
install_dir=$(locale_installdir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $$install_dir; \
- build_cat=$(locale_builddir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \
- $(INSTALL_DATA) $$build_cat $$install_dir/$(PACKAGE).mo; \
+ $(INSTALL_DATA) $$cat $$install_dir/$(PACKAGE).mo; \
done
+# Maintainence of the .po template file. This rule is never run automatically,
+# and updates the source directory.
+pot:
+ cd $(glibcxx_srcdir); \
+ xgettext --default-domain=$(PACKAGE) --add-comments --c++ --debug \
+ --join-existing -o po/$(PACKAGE).pot --keyword=__N \
+ `grep -r -l '__N(".*")' .`
+
# Specify what gets cleaned up on a 'make clean'
CLEANFILES = $(LOCALE_OUT)