]>
Commit | Line | Data |
---|---|---|
bfff8b1b | 1 | # Copyright (C) 1991-2017 Free Software Foundation, Inc. |
28f540f4 RM |
2 | # This file is part of the GNU C Library. |
3 | ||
4 | # The GNU C Library is free software; you can redistribute it and/or | |
41bdb6e2 AJ |
5 | # modify it under the terms of the GNU Lesser General Public |
6 | # License as published by the Free Software Foundation; either | |
7 | # version 2.1 of the License, or (at your option) any later version. | |
28f540f4 RM |
8 | |
9 | # The GNU C Library is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
41bdb6e2 | 12 | # Lesser General Public License for more details. |
28f540f4 | 13 | |
41bdb6e2 | 14 | # You should have received a copy of the GNU Lesser General Public |
59ba27a6 PE |
15 | # License along with the GNU C Library; if not, see |
16 | # <http://www.gnu.org/licenses/>. | |
28f540f4 RM |
17 | |
18 | # | |
19 | # Makefile for locales. | |
20 | # | |
21 | subdir := locale | |
22 | ||
a5f891ac JM |
23 | include ../Makeconfig |
24 | ||
3e154a6f | 25 | headers = locale.h bits/locale.h langinfo.h xlocale.h |
cb09a2cd RM |
26 | routines = setlocale findlocale loadlocale loadarchive \ |
27 | localeconv nl_langinfo nl_langinfo_l mb_cur_max \ | |
30c14c31 | 28 | newlocale duplocale freelocale uselocale |
74432447 | 29 | tests = tst-C-locale tst-locname tst-duplocale |
4b10dd6c UD |
30 | categories = ctype messages monetary numeric time paper name \ |
31 | address telephone measurement identification collate | |
5db91571 | 32 | aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \ |
25337753 | 33 | xlocale localename global-locale coll-lookup |
cd33623e | 34 | others = localedef locale |
70e51ab9 | 35 | #others-static = localedef locale |
299a95b9 | 36 | install-bin = localedef locale |
9649be24 UD |
37 | extra-objs = $(localedef-modules:=.o) $(localedef-aux:=.o) \ |
38 | $(locale-modules:=.o) $(lib-modules:=.o) | |
2b83a2a4 | 39 | |
6259ec0d UD |
40 | extra-libs = libBrokenLocale |
41 | extra-libs-others = $(extra-libs) | |
42 | ||
43 | libBrokenLocale-routines = broken_cur_max | |
44 | ||
df7c0d23 | 45 | subdir-dirs = programs |
a7b65cdc | 46 | vpath %.c programs ../crypt |
19bc17a9 | 47 | vpath %.h programs |
f127cd28 | 48 | vpath %.gperf programs |
19bc17a9 | 49 | |
675456ef RM |
50 | localedef-modules := localedef $(categories:%=ld-%) \ |
51 | charmap linereader locfile \ | |
934b77ac UD |
52 | repertoire locarchive |
53 | localedef-aux := md5 | |
675456ef | 54 | locale-modules := locale locale-spec |
3e076219 | 55 | lib-modules := charmap-dir simple-hash xmalloc xstrdup |
2b83a2a4 RM |
56 | |
57 | ||
58 | GPERF = gperf | |
4b10dd6c | 59 | GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C |
28f540f4 RM |
60 | |
61 | include ../Rules | |
2b83a2a4 | 62 | |
3a0d900a DM |
63 | CFLAGS-md5.c = -I../crypt |
64 | ||
19bc17a9 | 65 | programs/%-kw.h: programs/%-kw.gperf |
00c2b3b9 UD |
66 | cd programs \ |
67 | && $(GPERF) $(GPERFFLAGS) -N $(@F:-kw.h=_hash) $(<F) > $(@F).new | |
2b83a2a4 RM |
68 | mv -f $@.new $@ |
69 | ||
70 | $(objpfx)localedef: $(localedef-modules:%=$(objpfx)%.o) | |
934b77ac | 71 | $(objpfx)localedef: $(localedef-aux:%=$(objpfx)%.o) |
2b83a2a4 RM |
72 | $(objpfx)locale: $(locale-modules:%=$(objpfx)%.o) |
73 | $(objpfx)localedef $(objpfx)locale: $(lib-modules:%=$(objpfx)%.o) | |
74 | ||
04fbc779 UD |
75 | C-translit.h: C-translit.h.in gen-translit.pl |
76 | $(PERL) gen-translit.pl < $< > $@.tmp | |
69c69fe1 | 77 | mv -f $@.tmp $@ |
04fbc779 | 78 | |
90fe682d CD |
79 | # The path to the compiled binary locale archive or compiled locales, |
80 | # along with the parent path to the source locales and source | |
81 | # charmaps. | |
82 | localepath = "$(complocaledir):$(i18ndir)" | |
e4cf5070 | 83 | |
675456ef RM |
84 | # -Iprograms doesn't really belong here, but this gets it at the head |
85 | # of the list instead of the tail, where CPPFLAGS-$(lib) gets added. | |
86 | # We need it before the standard -I's to see programs/config.h first. | |
90fe682d | 87 | locale-CPPFLAGS = -DCOMPLOCALEDIR='"$(complocaledir)"' \ |
314f6dee | 88 | -DLOCALE_ALIAS_PATH='"$(localedir)"' \ |
675456ef RM |
89 | -Iprograms |
90 | ||
91 | CPPFLAGS-locale-programs = -DLOCALE_PATH='$(localepath)' \ | |
92 | -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \ | |
93 | -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \ | |
4f41c682 | 94 | -DLOCSRCDIR='"$(i18ndir)/locales"' |
0793d348 | 95 | |
6973fc01 UD |
96 | CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts |
97 | CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts | |
3e076219 | 98 | CFLAGS-charmap-dir.c = -Wno-write-strings |
6259ec0d | 99 | |
4f41c682 | 100 | # Set libof-* for each routine. |
9cd47470 SP |
101 | cpp-srcs-left := $(localedef-modules) $(localedef-aux) $(locale-modules) \ |
102 | $(lib-modules) | |
675456ef | 103 | lib := locale-programs |
2bfdaedd | 104 | include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left)) |