Blame intl/Makefile

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