| ## Makefile for the po subdirectory of the GNU C++ Standard library. |
| ## |
| ## Copyright (C) 2001-2022 Free Software Foundation, Inc. |
| ## |
| ## This file is part of the libstdc++ version 3 distribution. |
| ## Process this file with automake to produce Makefile.in. |
| |
| ## This file is part of the GNU ISO C++ Library. This library is free |
| ## software; you can redistribute it and/or modify it under the |
| ## terms of the GNU General Public License as published by the |
| ## Free Software Foundation; either version 3, or (at your option) |
| ## any later version. |
| |
| ## This library is distributed in the hope that it will be useful, |
| ## but WITHOUT ANY WARRANTY; without even the implied warranty of |
| ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| ## GNU General Public License for more details. |
| |
| ## You should have received a copy of the GNU General Public License along |
| ## with this library; see the file COPYING3. If not see |
| ## <http://www.gnu.org/licenses/>. |
| |
| include $(top_srcdir)/fragment.am |
| |
| # Location of installation directories. |
| locale_installdir = $(DESTDIR)$(datadir)/locale |
| locale_builddir = $(glibcxx_localedir) |
| |
| # Tell automake that foo.po makes foo.mo |
| SUFFIXES = .po .mo |
| |
| 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: |
| $(MSGFMT) -o $@ $< |
| |
| all-local: all-local-$(USE_NLS) |
| all-local-no: |
| all-local-yes: $(LOCALE_OUT) |
| |
| # '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-no: |
| install-data-local-yes: all-local-yes |
| $(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; \ |
| $(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) |