]> git.ipfire.org Git - thirdparty/glibc.git/blame - iconv/Makefile
Define and use $(run-built-tests).
[thirdparty/glibc.git] / iconv / Makefile
CommitLineData
0269750c
UD
1# Copyright (C) 1997,1998,2000-2004,2007,2009,2012
2# Free Software Foundation, Inc.
6973fc01
UD
3# This file is part of the GNU C Library.
4
5# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6# modify it under the terms of the GNU Lesser General Public
7# License as published by the Free Software Foundation; either
8# version 2.1 of the License, or (at your option) any later version.
6973fc01
UD
9
10# The GNU C Library is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13# Lesser General Public License for more details.
6973fc01 14
41bdb6e2 15# You should have received a copy of the GNU Lesser General Public
59ba27a6
PE
16# License along with the GNU C Library; if not, see
17# <http://www.gnu.org/licenses/>.
6973fc01
UD
18
19#
20# Makefile for iconv.
21#
22subdir := iconv
23
8619129f
UD
24include ../Makeconfig
25
6973fc01
UD
26headers = iconv.h gconv.h
27routines = iconv_open iconv iconv_close \
28 gconv_open gconv gconv_close gconv_db gconv_conf \
6b98979f 29 gconv_builtin gconv_simple gconv_trans gconv_cache
8619129f 30routines += gconv_dl
8619129f 31
dd9423a6 32vpath %.c ../locale/programs ../intl
93693c4d
UD
33
34iconv_prog-modules = iconv_charmap charmap charmap-dir linereader \
35 dummy-repertoire simple-hash xstrdup xmalloc
dd9423a6 36iconvconfig-modules = strtab xmalloc hash-string
7dbadfc5 37extra-objs = $(iconv_prog-modules:=.o) $(iconvconfig-modules:=.o)
93693c4d
UD
38CFLAGS-iconv_prog.c = -I../locale/programs
39CFLAGS-iconv_charmap.c = -I../locale/programs
40CFLAGS-dummy-repertoire.c = -I../locale/programs
41CFLAGS-charmap.c = -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
194c5f8d 42 -DDEFAULT_CHARMAP=null_pointer -DNEED_NULL_POINTER
47e8b443 43CFLAGS-linereader.c = -DNO_TRANSLITERATION
d648d845 44CFLAGS-simple-hash.c = -I../locale
93693c4d 45
1b14353e 46tests = tst-iconv1 tst-iconv2 tst-iconv3 tst-iconv4 tst-iconv5
c63b67bd 47
6b98979f 48others = iconv_prog iconvconfig
ff40792e 49install-others-programs = $(inst_bindir)/iconv
9fcddc2b 50install-sbin = iconvconfig
fb5663ca 51
8e294940 52CFLAGS-gconv_cache.c += -DGCONV_DIR='"$(gconvdir)"'
6973fc01 53CFLAGS-gconv_conf.c = -DGCONV_PATH='"$(gconvdir)"'
6b98979f 54CFLAGS-iconvconfig.c = -DGCONV_PATH='"$(gconvdir)"' -DGCONV_DIR='"$(gconvdir)"'
6973fc01 55
3ba06713 56CPPFLAGS-iconv_prog = -DNOT_IN_libc
51d46f73
UD
57CPPFLAGS-iconv_charmap = -DNOT_IN_libc
58CPPFLAGS-iconvconfig = -DNOT_IN_libc
3ba06713 59CPPFLAGS-linereader = -DNOT_IN_libc
51d46f73
UD
60CPPFLAGS-strtab = -DNOT_IN_libc
61CPPFLAGS-charmap = -DNOT_IN_libc
3ba06713 62CPPFLAGS-charmap-dir = -DNOT_IN_libc
51d46f73 63
6973fc01 64include ../Rules
fb5663ca 65
73237de3 66$(inst_bindir)/iconv: $(objpfx)iconv_prog $(+force)
9eb2730e 67 $(do-install-program)
93693c4d
UD
68
69$(objpfx)iconv_prog: $(iconv_prog-modules:%=$(objpfx)%.o)
6b98979f 70$(objpfx)iconvconfig: $(iconvconfig-modules:%=$(objpfx)%.o)
ff06ca8d 71
03ac099f 72ifeq ($(run-built-tests),yes)
ff06ca8d
RM
73xtests: test-iconvconfig
74endif
75
76.PHONY: test-iconvconfig
77test-iconvconfig: /dev/null $(objpfx)iconvconfig
78 tmp=$(objpfx)gconv-modules.cache.$$$$; \
79 rm -f $$tmp; \
80 $(make-test-out) --output=$$tmp --nostdlib $(inst_gconvdir) && \
81 cmp $$tmp $(inst_gconvdir)/gconv-modules.cache && \
82 rm -f $$tmp