| # Copyright (C) 1995-2018 Free Software Foundation, Inc. |
| # This file is part of the GNU C Library. |
| |
| # The GNU C Library is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2.1 of the License, or (at your option) any later version. |
| |
| # The GNU C 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 |
| # Lesser General Public License for more details. |
| |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with the GNU C Library; if not, see |
| # <http://www.gnu.org/licenses/>. |
| |
| # Makefile for intl subdirectory: message handling code from GNU gettext. |
| |
| subdir = intl |
| |
| include ../Makeconfig |
| |
| headers = libintl.h |
| routines = bindtextdom dcgettext dgettext gettext \ |
| dcigettext dcngettext dngettext ngettext \ |
| finddomain loadmsgcat localealias textdomain |
| aux = l10nflist explodename plural plural-exp hash-string |
| |
| multithread-test-srcs := tst-gettext4 tst-gettext5 tst-gettext6 |
| test-srcs := tst-gettext tst-translit tst-gettext2 tst-codeset tst-gettext3 |
| ifeq ($(have-thread-library),yes) |
| test-srcs += $(multithread-test-srcs) |
| endif |
| tests = tst-ngettext |
| |
| before-compile += $(objpfx)msgs.h |
| |
| install-others = $(inst_localedir)/locale.alias |
| |
| generated += msgs.h mtrace-tst-gettext.out tst-gettext.mtrace plural.c |
| generated-dirs += domaindir localedir |
| |
| $(objpfx)plural.c: plural.y |
| $(make-target-directory) |
| $(BISON) $(BISONFLAGS) $@ $^ |
| |
| $(objpfx)plural.o: $(objpfx)plural.c |
| |
| ifeq ($(run-built-tests),yes) |
| ifeq (yes,$(build-shared)) |
| ifneq ($(strip $(MSGFMT)),:) |
| tests-special += $(objpfx)tst-translit.out $(objpfx)tst-gettext.out \ |
| $(objpfx)tst-gettext2.out $(objpfx)tst-codeset.out \ |
| $(objpfx)tst-gettext3.out |
| ifeq ($(have-thread-library),yes) |
| tests-special += $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out \ |
| $(objpfx)tst-gettext6.out |
| endif |
| ifneq (no,$(PERL)) |
| tests-special += $(objpfx)mtrace-tst-gettext.out |
| endif |
| endif |
| endif |
| endif |
| |
| include ../Rules |
| |
| ifeq ($(run-built-tests),yes) |
| ifeq (yes,$(build-shared)) |
| # Multiple tests use this data. Create it once to avoid racing and |
| # spurious test failures. |
| codeset_mo = $(objpfx)domaindir/de_DE/LC_MESSAGES/codeset.mo |
| |
| $(codeset_mo): tstcodeset.po |
| $(make-target-directory) |
| msgfmt -o $@T $< |
| mv -f $@T $@ |
| |
| $(objpfx)mtrace-tst-gettext.out: $(objpfx)tst-gettext.out |
| $(common-objpfx)malloc/mtrace $(objpfx)tst-gettext.mtrace > $@; \ |
| $(evaluate-test) |
| $(objpfx)tst-gettext.out: tst-gettext.sh $(objpfx)tst-gettext |
| $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \ |
| '$(run-program-env)' '$(test-program-prefix-after-env)' \ |
| $(common-objpfx)intl/ $(objpfx)tst-gettext.mtrace > $@; \ |
| $(evaluate-test) |
| $(objpfx)tst-translit.out: tst-translit.sh $(objpfx)tst-translit |
| $(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \ |
| $(common-objpfx)intl/ > $@; \ |
| $(evaluate-test) |
| $(objpfx)tst-gettext2.out: tst-gettext2.sh $(objpfx)tst-gettext2 |
| $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \ |
| '$(run-program-env)' '$(test-program-prefix-after-env)' \ |
| $(common-objpfx)intl/ > $@; \ |
| $(evaluate-test) |
| $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4 |
| $(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)intl/ > $@; \ |
| $(evaluate-test) |
| $(objpfx)tst-gettext6.out: tst-gettext6.sh $(objpfx)tst-gettext6 |
| $(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)intl/ > $@; \ |
| $(evaluate-test) |
| |
| $(objpfx)tst-codeset.out: $(codeset_mo) |
| $(objpfx)tst-gettext3.out: $(codeset_mo) |
| $(objpfx)tst-gettext5.out: $(codeset_mo) |
| endif |
| |
| LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 fr_FR.ISO-8859-1 \ |
| ja_JP.UTF-8 |
| include ../gen-locales.mk |
| |
| $(objpfx)tst-codeset.out: $(gen-locales) |
| $(objpfx)tst-gettext.out: $(gen-locales) |
| $(objpfx)tst-gettext2.out: $(gen-locales) |
| $(objpfx)tst-gettext3.out: $(gen-locales) |
| $(objpfx)tst-gettext4.out: $(gen-locales) |
| $(objpfx)tst-gettext5.out: $(gen-locales) |
| $(objpfx)tst-gettext6.out: $(gen-locales) |
| $(objpfx)tst-translit.out: $(gen-locales) |
| endif |
| |
| $(objpfx)msgs.h: po2test.awk ../po/de.po |
| $(make-target-directory) |
| LC_ALL=C $(AWK) -f $^ > $@ |
| |
| CFLAGS-tst-gettext.c += -DTESTSTRS_H=\"$(objpfx)msgs.h\" |
| CFLAGS-tst-translit.c += -DOBJPFX=\"$(objpfx)\" |
| CFLAGS-tst-gettext2.c += -DOBJPFX=\"$(objpfx)\" |
| CFLAGS-tst-codeset.c += -DOBJPFX=\"$(objpfx)\" |
| CFLAGS-tst-gettext3.c += -DOBJPFX=\"$(objpfx)\" |
| CFLAGS-tst-gettext4.c += -DOBJPFX=\"$(objpfx)\" |
| CFLAGS-tst-gettext5.c += -DOBJPFX=\"$(objpfx)\" |
| CFLAGS-tst-gettext6.c += -DOBJPFX=\"$(objpfx)\" |
| |
| ifeq ($(have-thread-library),yes) |
| ifeq (yes,$(build-shared)) |
| $(addprefix $(objpfx),$(multithread-test-srcs)): $(shared-thread-library) |
| else |
| $(addprefix $(objpfx),$(multithread-test-srcs)): $(static-thread-library) |
| endif |
| endif |
| |
| $(objpfx)tst-translit.out: $(objpfx)tst-gettext.out |
| $(objpfx)tst-gettext2.out: $(objpfx)tst-gettext.out |
| $(objpfx)tst-codeset.out: $(objpfx)tst-gettext.out |
| $(objpfx)tst-gettext3.out: $(objpfx)tst-gettext.out |
| $(objpfx)tst-gettext4.out: $(objpfx)tst-gettext.out |
| $(objpfx)tst-gettext5.out: $(objpfx)tst-gettext.out |
| $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out |
| |
| CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \ |
| -D'LOCALE_ALIAS_PATH="$(localedir)"' |
| BISONFLAGS = --yacc --name-prefix=__gettext --output |
| |
| $(inst_localedir)/locale.alias: locale.alias $(+force) |
| $(do-install) |