Add rules for new modules.
[kopensolaris-gnu/glibc.git] / iconvdata / Makefile
1 # Copyright (C) 1997, 1998 Free Software Foundation, Inc.
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
5 # modify it under the terms of the GNU Library General Public License as
6 # published by the Free Software Foundation; either version 2 of the
7 # License, or (at your option) any later version.
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
12 # Library General Public License for more details.
13
14 # You should have received a copy of the GNU Library General Public
15 # License along with the GNU C Library; see the file COPYING.LIB.  If
16 # not, write to the Free Software Foundation, Inc.,
17 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 #
20 #       Makefile for iconv data and code.
21 #
22 subdir  := iconvdata
23
24 # Names of all the shared objects which implement the transformations.
25 modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5             \
26            ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10            \
27            ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15                   \
28            T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 EBCDIC-AT-DE               \
29            EBCDIC-AT-DE-A EBCDIC-CA-FR EUC-KR UHC JOHAB libJIS libKSC    \
30            BIG5 EUC-JP libGB EUC-CN libCNS EUC-TW ISO646 EBCDIC-DK-NO    \
31            EBCDIC-DK-NO-A EBCDIC-ES EBCDIC-ES-A EBCDIC-ES-S EBCDIC-FI-SE \
32            EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT  \
33            EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423        \
34            IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047      \
35            CP874 CP737 CP775 ISO-2022-KR                                 \
36            KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278  \
37            IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424       \
38            IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861       \
39            IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 IBM880       \
40            IBM866 CP1258                                                 \
41            IBM918 IBM1004 IBM1026 CP1250 CP1251 CP1252 CP1253 CP1254     \
42            CP1255 CP1256 CP1257 ISO-2022-JP MACINTOSH IEC_P27-1 BALTIC   \
43            ASMO_449 ANSI_X3.110 CSN_369103 CWI DEC-MCS ECMA-CYRILLIC     \
44            GOST_19768-74 GREEK-CCITT GREEK7 GREEK7-OLD INIS INIS-8       \
45            INIS-CYRILLIC ISO_6937-2 ISO_2033 ISO_5427 ISO_5427-EXT       \
46            ISO_5428 ISO_10367-BOX MAC-IS MAC-UK NATS-DANO NATS-SEFI
47
48 modules.so := $(addsuffix .so, $(modules))
49
50 include ../Makeconfig
51
52 ISO8859-1-routines := iso8859-1
53 ISO8859-2-routines := iso8859-2
54 ISO8859-3-routines := iso8859-3
55 ISO8859-4-routines := iso8859-4
56 ISO8859-5-routines := iso8859-5
57 ISO8859-6-routines := iso8859-6
58 ISO8859-7-routines := iso8859-7
59 ISO8859-8-routines := iso8859-8
60 ISO8859-9-routines := iso8859-9
61 ISO8859-10-routines := iso8859-10
62 ISO8859-11-routines := iso8859-11
63 ISO8859-13-routines := iso8859-13
64 ISO8859-14-routines := iso8859-14
65 ISO8859-15-routines := iso8859-15
66 ISO646-routines := iso646
67 T.61-routines := t61
68 ISO_6937-routines := iso6937
69 SJIS-routines := sjis
70 KOI-8-routines := koi-8
71 KOI8-R-routines := koi8-r
72 LATIN-GREEK-routines := latin-greek
73 LATIN-GREEK-1-routines := latin-greek-1
74 HP-ROMAN8-routines := hp-roman8
75 EBCDIC-AT-DE-routines := ebcdic-at-de
76 EBCDIC-AT-DE-A-routines := ebcdic-at-de-a
77 EBCDIC-CA-FR-routines := ebcdic-ca-fr
78 EBCDIC-DK-NO-routines := ebcdic-dk-no
79 EBCDIC-DK-NO-A-routines := ebcdic-dk-no-a
80 EBCDIC-ES-routines := ebcdic-es
81 EBCDIC-ES-A-routines := ebcdic-es-a
82 EBCDIC-ES-S-routines := ebcdic-es-s
83 EBCDIC-FI-SE-routines := ebcdic-fi-se
84 EBCDIC-FI-SE-A-routines := ebcdic-fi-se-a
85 EBCDIC-FR-routines := ebcdic-fr
86 EBCDIC-IS-FRISS-routines := ebcdic-is-friss
87 EBCDIC-IT-routines := ebcdic-it
88 EBCDIC-PT-routines := ebcdic-pt
89 EBCDIC-UK-routines := ebcdic-uk
90 EBCDIC-US-routines := ebcdic-us
91 IBM037-routines := ibm037
92 IBM038-routines := ibm038
93 IBM256-routines := ibm256
94 IBM273-routines := ibm273
95 IBM274-routines := ibm274
96 IBM275-routines := ibm275
97 IBM277-routines := ibm277
98 IBM278-routines := ibm278
99 IBM280-routines := ibm280
100 IBM281-routines := ibm281
101 IBM284-routines := ibm284
102 IBM285-routines := ibm285
103 IBM290-routines := ibm290
104 IBM297-routines := ibm297
105 IBM420-routines := ibm420
106 IBM423-routines := ibm423
107 IBM424-routines := ibm424
108 IBM437-routines := ibm437
109 IBM500-routines := ibm500
110 IBM850-routines := ibm850
111 IBM851-routines := ibm851
112 IBM852-routines := ibm852
113 IBM855-routines := ibm855
114 IBM857-routines := ibm857
115 IBM860-routines := ibm860
116 IBM861-routines := ibm861
117 IBM862-routines := ibm862
118 IBM863-routines := ibm863
119 IBM864-routines := ibm864
120 IBM865-routines := ibm865
121 IBM866-routines := ibm866
122 IBM868-routines := ibm868
123 IBM869-routines := ibm869
124 IBM870-routines := ibm870
125 IBM871-routines := ibm871
126 IBM875-routines := ibm875
127 IBM880-routines := ibm880
128 IBM891-routines := ibm891
129 IBM903-routines := ibm903
130 IBM904-routines := ibm904
131 IBM905-routines := ibm905
132 IBM918-routines := ibm918
133 IBM1004-routines := ibm1004
134 IBM1026-routines := ibm1026
135 IBM1047-routines := ibm1047
136 CP737-routines := cp737
137 CP775-routines := cp775
138 CP874-routines := cp874
139 CP1250-routines := cp1250
140 CP1251-routines := cp1251
141 CP1252-routines := cp1252
142 CP1253-routines := cp1253
143 CP1254-routines := cp1254
144 CP1255-routines := cp1255
145 CP1256-routines := cp1256
146 CP1257-routines := cp1257
147 CP1258-routines := cp1258
148 EUC-KR-routines := euckr
149 JOHAB-routines := johab
150 UHC-routines := uhc
151 BIG5-routines := big5
152 EUC-JP-routines := eucjp
153 EUC-CN-routines := euccn
154 EUC-TW-routines := euctw
155 ISO-2022-JP-routines := iso-2022-jp
156 ISO-2022-KR-routines := iso-2022-kr
157 MACINTOSH-routines := macintosh
158 IEC_P27-1-routines := iec_p27-1
159 BALTIC-routines := baltic
160 ASMO_449-routines := asmo_449
161 ANSI_X3.110-routines := ansi_x3.110
162 CSN_369103-routines := csn_369103
163 CWI-routines := cwi
164 DEC-MCS-routines := dec-mcs
165 ECMA-CYRILLIC-routines := ecma-cyrillic
166 GOST_19768-74-routines := gost_19768-74
167 GREEK-CCITT-routines := greek-ccitt
168 GREEK7-routines := greek7
169 GREEK7-OLD-routines := greek7-old
170 INIS-routines := inis
171 INIS-8-routines := inis
172 INIS-CYRILLIC-routines := inis
173 ISO_6937-2-routines := iso6937-2
174 ISO_2033-routines := iso_2033
175 ISO_5427-routines := iso_5427
176 ISO_5427-EXT-routines := iso_5427-ext
177 ISO_5428-routines := iso_5428
178 ISO_10367-BOX-routines := iso_10367-box
179 MAC-IS-routines := mac-is
180 MAC-UK-routines := mac-uk
181 NATS-DANO-routines := nats-dano
182 NATS-SEFI-routines := nats-dano
183 libJIS-routines := jis0201 jis0208 jis0212
184 libKSC-routines := ksc5601
185 libGB-routines := gb2312
186 libCNS-routines := cns11643l1 cns11643
187
188 LDFLAGS-EUC-KR.so = -Wl,-rpath,$(gconvdir)
189 $(objpfx)EUC-KR.so: $(objpfx)libKSC.so
190 LDFLAGS-JOHAB.so = -Wl,-rpath,$(gconvdir)
191 $(objpfx)JOHAB.so: $(objpfx)libKSC.so
192 LDFLAGS-UHC.so = -Wl,-rpath,$(gconvdir)
193 $(objpfx)UHC.so: $(objpfx)libKSC.so
194 LDFLAGS-EUC-JP.so = -Wl,-rpath,$(gconvdir)
195 $(objpfx)EUC-JP.so: $(objpfx)libJIS.so
196 LDFLAGS-EUC-CN.so = -Wl,-rpath,$(gconvdir)
197 $(objpfx)EUC-CN.so: $(objpfx)libGB.so
198 LDFLAGS-EUC-TW.so = -Wl,-rpath,$(gconvdir)
199 $(objpfx)EUC-TW.so: $(objpfx)libCNS.so
200
201 LDFLAGS-ISO-2022-JP.so = -Wl,-rpath,$(gconvdir)
202 $(objpfx)ISO-2022-JP.so: $(objpfx)libJIS.so $(objpfx)libGB.so \
203                          $(objpfx)libCNS.so $(objpfx)libKSC.so
204 LDFLAGS-ISO-2022-KR.so = -Wl,-rpath,$(gconvdir)
205 $(objpfx)ISO-2022-KR.so: $(objpfx)libKSC.so
206
207 LDFLAGS-libJIS.so = -Wl,-soname,$(@F)
208 LDFLAGS-libKSC.so = -Wl,-soname,$(@F)
209 LDFLAGS-libGB.so = -Wl,-soname,$(@F)
210 LDFLAGS-libCNS.so = -Wl,-soname,$(@F)
211
212 distribute := 8bit-generic.c 8bit-gap.c gap.awk gaptab.awk gconv-modules    \
213               iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c   \
214               iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c  \
215               iso8859-11.c iso8859-11.h iso8859-13.c iso8859-14.c           \
216               iso8859-15.c                                                  \
217               t61.c iso6937.c sjis.c jis0201.h jis0208.h jis0212.h          \
218               koi-8.c koi8-r.c hp-roman8.c latin-greek.c latin-greek-1.c    \
219               ebcdic-at-de.c ebcdic-at-de-a.c ebcdic-ca-fr.c jis0201.c      \
220               jis0208.c jis0212.c extra-module.mk euckr.c johab.c uhc.c     \
221               ksc5601.c ksc5601.h iso646.c big5.c eucjp.c gb2312.c gb2312.h \
222               euccn.c euctw.c cns11643l1.c cns11643l1.h cns11643.h          \
223               cns11643.c run-iconv-test.sh TESTS $(wildcard testdata/*)     \
224               ebcdic-dk-no.c ebcdic-dk-no-a.c ebcdic-es.c ebcdic-es-a.c     \
225               ebcdic-es-s.c ebcdic-fi-se.c ebcdic-fi-se-a.c ebcdic-fr.c     \
226               ebcdic-is-friss.c ebcdic-it.c ebcdic-pt.c ebcdic-uk.c         \
227               ebcdic-us.c ibm037.c ibm038.c ibm256.c ibm273.c ibm274.c      \
228               ibm275.c ibm277.c ibm278.c ibm280.c ibm281.c ibm284.c         \
229               ibm285.c ibm290.c ibm297.c ibm420.c ibm423.c ibm424.c         \
230               ibm437.c ibm500.c ibm850.c ibm851.c ibm852.c ibm855.c         \
231               ibm857.c ibm860.c ibm861.c ibm862.c ibm863.c ibm864.c         \
232               ibm865.c ibm868.c ibm869.c ibm870.c ibm871.c ibm875.c         \
233               ibm880.c ibm891.c ibm903.c ibm904.c ibm905.c ibm918.c         \
234               ibm1004.c ibm1026.c ibm1047.c cp1250.c cp1251.c cp1252.c      \
235               ibm866.c cp1258.c cp1258.h                                    \
236               cp1253.c cp1254.c cp1255.c cp1256.c cp1257.c cp874.c cp874.h  \
237               cp737.c cp737.h cp775.c cp775.h iso-2022-jp.c iso-2022-kr.c   \
238               gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh macintosh.c     \
239               iec_p27-1.c baltic.c asmo_449.c ansi_x3.110.c csn_369103.c    \
240               cwi.c dec-mcs.c ecma-cyrillic.c gost_19768-74.c greek-ccitt.c \
241               greek7.c greek7-old.c inis.c inis-8.c inis-cyrillic.c         \
242               iso6937-2.c iso_2033.c iso_5427.c iso_5427-ext.c mac-uk.c     \
243               iso_5428.c iso_10367-box.c mac-is.c nats-dano.c nats-sefi.c
244
245 # We build the transformation modules only when we build shared libs.
246 ifeq (yes,$(build-shared))
247
248 # This macro is similar to build-shlib but it does not define a soname
249 # and it does not depend on the destination name to start with `lib'.
250 define build-module
251 $(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS)  \
252           -B$(csu-objpfx) $(load-map-file) \
253           $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
254           -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
255           -Wl,--whole-archive \
256           $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
257           $(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
258 endef
259
260 # Rule to generate the shared objects.
261 extra-modules-left := $(modules)
262 include extra-module.mk
263
264
265 extra-objs      += $(modules.so)
266 install-others  = $(addprefix $(inst_gconvdir)/, $(modules.so)) \
267                   $(inst_gconvdir)/gconv-modules
268
269 # If we have the localedata add-on available we can build the conversion
270 # tables for numerous charsets.
271
272 define generate-8bit-table
273 $(make-target-directory)
274 $(SHELL) ./gen-8bit.sh $< > $(@:stmp=T)
275 $(move-if-change) $(@:stmp=T) $(@:stmp=h)
276 touch $@
277 endef
278
279 sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-6.h \
280                          iso8859-9.h koi-8.h hp-roman8.h ebcdic-at-de.h  \
281                          ebcdic-at-de-a.h ebcdic-ca-fr.h ebcdic-dk-no.h  \
282                          ebcdic-dk-no-a.h ebcdic-es.h ebcdic-es-a.h      \
283                          ebcdic-es-s.h ebcdic-fi-se.h ebcdic-fi-se-a.h   \
284                          ebcdic-fr.h ebcdic-is-friss.h ebcdic-it.h       \
285                          ebcdic-pt.h ebcdic-uk.h ebcdic-us.h ibm037.h    \
286                          ibm038.h ibm274.h ibm275.h ibm423.h ibm500.h    \
287                          ibm870.h ibm871.h ibm891.h ibm903.h ibm904.h    \
288                          ibm905.h ibm1047.h
289
290 define generate-8bit-gap-table
291 $(make-target-directory)
292 $(SHELL) ./gen-8bit-gap.sh $< > $(@:stmp=T)
293 $(move-if-change) $(@:stmp=T) $(@:stmp=h)
294 touch $@
295 endef
296
297 export AWK
298
299 awk-generated-headers  := koi8-r.h latin-greek.h latin-greek-1.h         \
300                           ibm256.h ibm273.h ibm277.h ibm278.h ibm280.h   \
301                           ibm281.h ibm284.h ibm285.h ibm290.h ibm297.h   \
302                           ibm420.h ibm424.h ibm437.h ibm850.h ibm851.h   \
303                           ibm852.h ibm855.h ibm857.h ibm860.h ibm861.h   \
304                           ibm862.h ibm863.h ibm864.h ibm865.h ibm868.h   \
305                           ibm869.h ibm875.h ibm880.h ibm918.h ibm1004.h  \
306                           ibm1026.h cp1250.h cp1251.h cp1252.h cp1253.h  \
307                           cp1254.h cp1255.h cp1256.h cp1257.h ibm866.h   \
308                           iso8859-5.h iso8859-7.h iso8859-8.h            \
309                           iso8859-10.h iso8859-7jp.h macintosh.h         \
310                           iec_p27-1.h baltic.h asmo_449.h csn_369103.h   \
311                           cwi.h dec-mcs.h ecma-cyrillic.h gost_19768-74.h\
312                           greek-ccitt.h greek7.h greek7-old.h inis.h     \
313                           inis-8.h inis-cyrillic.h iso_2033.h iso_5427.h \
314                           iso_5427-ext.h iso_5428.h iso_10367-box.h      \
315                           mac-is.h nats-dano.h nats-sefi.h iso8859-13.h  \
316                           iso8859-14.h iso8859-15.h mac-uk.h
317
318 generated = $(sed-generated-headers) $(sed-generated-headers:%.h=%.stmp) \
319             $(awk-generated-headers) $(awk-generated-headers:%.h=%.stmp) \
320             iconv-test.out
321 ifdef objpfx
322 generated += $(objpfx)gconv-modules
323 endif
324
325 # The headers must be generated before the compilation.
326 before-compile = $(addprefix $(objpfx),\
327                         $(sed-generated-headers) $(awk-generated-headers))
328
329 # Rules to generate the headers.
330 $(sed-generated-headers:%=$(objpfx)%): $(objpfx)%.h: $(objpfx)%.stmp
331         @:
332
333 $(objpfx)iso8859-2.stmp: ../localedata/charmaps/ISO-8859-2 gen-8bit.sh
334         $(generate-8bit-table)
335 $(objpfx)iso8859-3.stmp: ../localedata/charmaps/ISO-8859-3 gen-8bit.sh
336         $(generate-8bit-table)
337 $(objpfx)iso8859-4.stmp: ../localedata/charmaps/ISO-8859-4 gen-8bit.sh
338         $(generate-8bit-table)
339 $(objpfx)iso8859-6.stmp: ../localedata/charmaps/ISO-8859-6 gen-8bit.sh
340         $(generate-8bit-table)
341 $(objpfx)iso8859-9.stmp: ../localedata/charmaps/ISO-8859-9 gen-8bit.sh
342         $(generate-8bit-table)
343
344 $(objpfx)koi-8.stmp: ../localedata/charmaps/KOI-8 gen-8bit.sh
345         $(generate-8bit-table)
346 $(objpfx)hp-roman8.stmp: ../localedata/charmaps/HP-ROMAN8 gen-8bit.sh
347         $(generate-8bit-table)
348
349 $(objpfx)ebcdic-at-de.stmp: ../localedata/charmaps/EBCDIC-AT-DE gen-8bit.sh
350         $(generate-8bit-table)
351 $(objpfx)ebcdic-at-de-a.stmp: ../localedata/charmaps/EBCDIC-AT-DE-A gen-8bit.sh
352         $(generate-8bit-table)
353 $(objpfx)ebcdic-ca-fr.stmp: ../localedata/charmaps/EBCDIC-CA-FR gen-8bit.sh
354         $(generate-8bit-table)
355 $(objpfx)ebcdic-dk-no.stmp: ../localedata/charmaps/EBCDIC-DK-NO gen-8bit.sh
356         $(generate-8bit-table)
357 $(objpfx)ebcdic-dk-no-a.stmp: ../localedata/charmaps/EBCDIC-DK-NO-A gen-8bit.sh
358         $(generate-8bit-table)
359 $(objpfx)ebcdic-es.stmp: ../localedata/charmaps/EBCDIC-ES gen-8bit.sh
360         $(generate-8bit-table)
361 $(objpfx)ebcdic-es-a.stmp: ../localedata/charmaps/EBCDIC-ES-A gen-8bit.sh
362         $(generate-8bit-table)
363 $(objpfx)ebcdic-es-s.stmp: ../localedata/charmaps/EBCDIC-ES-S gen-8bit.sh
364         $(generate-8bit-table)
365 $(objpfx)ebcdic-fi-se.stmp: ../localedata/charmaps/EBCDIC-FI-SE gen-8bit.sh
366         $(generate-8bit-table)
367 $(objpfx)ebcdic-fi-se-a.stmp: ../localedata/charmaps/EBCDIC-FI-SE-A gen-8bit.sh
368         $(generate-8bit-table)
369 $(objpfx)ebcdic-fr.stmp: ../localedata/charmaps/EBCDIC-FR gen-8bit.sh
370         $(generate-8bit-table)
371 $(objpfx)ebcdic-is-friss.stmp: ../localedata/charmaps/EBCDIC-IS-FRISS gen-8bit.sh
372         $(generate-8bit-table)
373 $(objpfx)ebcdic-it.stmp: ../localedata/charmaps/EBCDIC-IT gen-8bit.sh
374         $(generate-8bit-table)
375 $(objpfx)ebcdic-pt.stmp: ../localedata/charmaps/EBCDIC-PT gen-8bit.sh
376         $(generate-8bit-table)
377 $(objpfx)ebcdic-uk.stmp: ../localedata/charmaps/EBCDIC-UK gen-8bit.sh
378         $(generate-8bit-table)
379 $(objpfx)ebcdic-us.stmp: ../localedata/charmaps/EBCDIC-US gen-8bit.sh
380         $(generate-8bit-table)
381
382 $(objpfx)ibm037.stmp: ../localedata/charmaps/IBM037 gen-8bit.sh
383         $(generate-8bit-table)
384 $(objpfx)ibm038.stmp: ../localedata/charmaps/IBM038 gen-8bit.sh
385         $(generate-8bit-table)
386 $(objpfx)ibm274.stmp: ../localedata/charmaps/IBM274 gen-8bit.sh
387         $(generate-8bit-table)
388 $(objpfx)ibm275.stmp: ../localedata/charmaps/IBM275 gen-8bit.sh
389         $(generate-8bit-table)
390 $(objpfx)ibm423.stmp: ../localedata/charmaps/IBM423 gen-8bit.sh
391         $(generate-8bit-table)
392 $(objpfx)ibm500.stmp: ../localedata/charmaps/IBM500 gen-8bit.sh
393         $(generate-8bit-table)
394 $(objpfx)ibm870.stmp: ../localedata/charmaps/IBM870 gen-8bit.sh
395         $(generate-8bit-table)
396 $(objpfx)ibm871.stmp: ../localedata/charmaps/IBM871 gen-8bit.sh
397         $(generate-8bit-table)
398 $(objpfx)ibm891.stmp: ../localedata/charmaps/IBM891 gen-8bit.sh
399         $(generate-8bit-table)
400 $(objpfx)ibm903.stmp: ../localedata/charmaps/IBM903 gen-8bit.sh
401         $(generate-8bit-table)
402 $(objpfx)ibm904.stmp: ../localedata/charmaps/IBM904 gen-8bit.sh
403         $(generate-8bit-table)
404 $(objpfx)ibm905.stmp: ../localedata/charmaps/IBM905 gen-8bit.sh
405         $(generate-8bit-table)
406 $(objpfx)ibm1047.stmp: ../localedata/charmaps/IBM1047 gen-8bit.sh
407         $(generate-8bit-table)
408
409 $(awk-generated-headers:%=$(objpfx)%): $(objpfx)%.h: $(objpfx)%.stmp
410         @:
411
412 $(objpfx)iso8859-5.stmp: ../localedata/charmaps/ISO-8859-5 gen-8bit-gap.sh
413         $(generate-8bit-gap-table)
414 $(objpfx)iso8859-7.stmp: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap.sh
415         $(generate-8bit-gap-table)
416 $(objpfx)iso8859-7jp.stmp: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap-1.sh
417         $(make-target-directory)
418         $(SHELL) ./gen-8bit-gap-1.sh $< >$(@:stmp=T)
419         $(move-if-change) $(@:stmp=T) $(@:stmp=h)
420         touch $@
421
422 $(objpfx)iso8859-8.stmp: ../localedata/charmaps/ISO-8859-8 gen-8bit-gap.sh
423         $(generate-8bit-gap-table)
424 $(objpfx)iso8859-10.stmp: ../localedata/charmaps/ISO-8859-10 gen-8bit-gap.sh
425         $(generate-8bit-gap-table)
426 $(objpfx)iso8859-13.stmp: ../localedata/charmaps/ISO-8859-13 gen-8bit-gap.sh
427         $(generate-8bit-gap-table)
428 $(objpfx)iso8859-14.stmp: ../localedata/charmaps/ISO-8859-14 gen-8bit-gap.sh
429         $(generate-8bit-gap-table)
430 $(objpfx)iso8859-15.stmp: ../localedata/charmaps/ISO-8859-15 gen-8bit-gap.sh
431         $(generate-8bit-gap-table)
432
433 $(objpfx)koi8-r.stmp: ../localedata/charmaps/KOI8-R gen-8bit-gap.sh
434         $(generate-8bit-gap-table)
435 $(objpfx)latin-greek.stmp: ../localedata/charmaps/LATIN-GREEK gen-8bit-gap.sh
436         $(generate-8bit-gap-table)
437 $(objpfx)latin-greek-1.stmp: ../localedata/charmaps/LATIN-GREEK-1 gen-8bit-gap.sh
438         $(generate-8bit-gap-table)
439
440 $(objpfx)ibm256.stmp: ../localedata/charmaps/IBM256 gen-8bit-gap.sh
441         $(generate-8bit-gap-table)
442 $(objpfx)ibm273.stmp: ../localedata/charmaps/IBM273 gen-8bit-gap.sh
443         $(generate-8bit-gap-table)
444 $(objpfx)ibm277.stmp: ../localedata/charmaps/IBM277 gen-8bit-gap.sh
445         $(generate-8bit-gap-table)
446 $(objpfx)ibm278.stmp: ../localedata/charmaps/IBM278 gen-8bit-gap.sh
447         $(generate-8bit-gap-table)
448 $(objpfx)ibm280.stmp: ../localedata/charmaps/IBM280 gen-8bit-gap.sh
449         $(generate-8bit-gap-table)
450 $(objpfx)ibm281.stmp: ../localedata/charmaps/IBM281 gen-8bit-gap.sh
451         $(generate-8bit-gap-table)
452 $(objpfx)ibm284.stmp: ../localedata/charmaps/IBM284 gen-8bit-gap.sh
453         $(generate-8bit-gap-table)
454 $(objpfx)ibm285.stmp: ../localedata/charmaps/IBM285 gen-8bit-gap.sh
455         $(generate-8bit-gap-table)
456 $(objpfx)ibm290.stmp: ../localedata/charmaps/IBM290 gen-8bit-gap.sh
457         $(generate-8bit-gap-table)
458 $(objpfx)ibm297.stmp: ../localedata/charmaps/IBM297 gen-8bit-gap.sh
459         $(generate-8bit-gap-table)
460 $(objpfx)ibm420.stmp: ../localedata/charmaps/IBM420 gen-8bit-gap.sh
461         $(generate-8bit-gap-table)
462 $(objpfx)ibm424.stmp: ../localedata/charmaps/IBM424 gen-8bit-gap.sh
463         $(generate-8bit-gap-table)
464 $(objpfx)ibm437.stmp: ../localedata/charmaps/IBM437 gen-8bit-gap.sh
465         $(generate-8bit-gap-table)
466 $(objpfx)ibm850.stmp: ../localedata/charmaps/IBM850 gen-8bit-gap.sh
467         $(generate-8bit-gap-table)
468 $(objpfx)ibm851.stmp: ../localedata/charmaps/IBM851 gen-8bit-gap.sh
469         $(generate-8bit-gap-table)
470 $(objpfx)ibm852.stmp: ../localedata/charmaps/IBM852 gen-8bit-gap.sh
471         $(generate-8bit-gap-table)
472 $(objpfx)ibm855.stmp: ../localedata/charmaps/IBM855 gen-8bit-gap.sh
473         $(generate-8bit-gap-table)
474 $(objpfx)ibm857.stmp: ../localedata/charmaps/IBM857 gen-8bit-gap.sh
475         $(generate-8bit-gap-table)
476 $(objpfx)ibm860.stmp: ../localedata/charmaps/IBM860 gen-8bit-gap.sh
477         $(generate-8bit-gap-table)
478 $(objpfx)ibm861.stmp: ../localedata/charmaps/IBM861 gen-8bit-gap.sh
479         $(generate-8bit-gap-table)
480 $(objpfx)ibm862.stmp: ../localedata/charmaps/IBM862 gen-8bit-gap.sh
481         $(generate-8bit-gap-table)
482 $(objpfx)ibm863.stmp: ../localedata/charmaps/IBM863 gen-8bit-gap.sh
483         $(generate-8bit-gap-table)
484 $(objpfx)ibm864.stmp: ../localedata/charmaps/IBM864 gen-8bit-gap.sh
485         $(generate-8bit-gap-table)
486 $(objpfx)ibm865.stmp: ../localedata/charmaps/IBM865 gen-8bit-gap.sh
487         $(generate-8bit-gap-table)
488 $(objpfx)ibm866.stmp: ../localedata/charmaps/IBM866 gen-8bit-gap.sh
489         $(generate-8bit-gap-table)
490 $(objpfx)ibm868.stmp: ../localedata/charmaps/IBM868 gen-8bit-gap.sh
491         $(generate-8bit-gap-table)
492 $(objpfx)ibm869.stmp: ../localedata/charmaps/IBM869 gen-8bit-gap.sh
493         $(generate-8bit-gap-table)
494 $(objpfx)ibm875.stmp: ../localedata/charmaps/IBM875 gen-8bit-gap.sh
495         $(generate-8bit-gap-table)
496 $(objpfx)ibm880.stmp: ../localedata/charmaps/IBM880 gen-8bit-gap.sh
497         $(generate-8bit-gap-table)
498 $(objpfx)ibm918.stmp: ../localedata/charmaps/IBM918 gen-8bit-gap.sh
499         $(generate-8bit-gap-table)
500 $(objpfx)ibm1004.stmp: ../localedata/charmaps/IBM1004 gen-8bit-gap.sh
501         $(generate-8bit-gap-table)
502 $(objpfx)ibm1026.stmp: ../localedata/charmaps/IBM1026 gen-8bit-gap.sh
503         $(generate-8bit-gap-table)
504
505 $(objpfx)cp1250.stmp: ../localedata/charmaps/CP1250 gen-8bit-gap.sh
506         $(generate-8bit-gap-table)
507 $(objpfx)cp1251.stmp: ../localedata/charmaps/CP1251 gen-8bit-gap.sh
508         $(generate-8bit-gap-table)
509 $(objpfx)cp1252.stmp: ../localedata/charmaps/CP1252 gen-8bit-gap.sh
510         $(generate-8bit-gap-table)
511 $(objpfx)cp1253.stmp: ../localedata/charmaps/CP1253 gen-8bit-gap.sh
512         $(generate-8bit-gap-table)
513 $(objpfx)cp1254.stmp: ../localedata/charmaps/CP1254 gen-8bit-gap.sh
514         $(generate-8bit-gap-table)
515 $(objpfx)cp1255.stmp: ../localedata/charmaps/CP1255 gen-8bit-gap.sh
516         $(generate-8bit-gap-table)
517 $(objpfx)cp1256.stmp: ../localedata/charmaps/CP1256 gen-8bit-gap.sh
518         $(generate-8bit-gap-table)
519 $(objpfx)cp1257.stmp: ../localedata/charmaps/CP1257 gen-8bit-gap.sh
520         $(generate-8bit-gap-table)
521
522 $(objpfx)macintosh.stmp: ../localedata/charmaps/MACINTOSH gen-8bit-gap.sh
523         $(generate-8bit-gap-table)
524 $(objpfx)iec_p27-1.stmp: ../localedata/charmaps/IEC_P27-1 gen-8bit-gap.sh
525         $(generate-8bit-gap-table)
526 $(objpfx)baltic.stmp: ../localedata/charmaps/BALTIC gen-8bit-gap.sh
527         $(generate-8bit-gap-table)
528 $(objpfx)asmo_449.stmp: ../localedata/charmaps/ASMO_449 gen-8bit-gap.sh
529         $(generate-8bit-gap-table)
530 $(objpfx)csn_369103.stmp: ../localedata/charmaps/CSN_369103 gen-8bit-gap.sh
531         $(generate-8bit-gap-table)
532 $(objpfx)cwi.stmp: ../localedata/charmaps/CWI gen-8bit-gap.sh
533         $(generate-8bit-gap-table)
534 $(objpfx)dec-mcs.stmp: ../localedata/charmaps/DEC-MCS gen-8bit-gap.sh
535         $(generate-8bit-gap-table)
536 $(objpfx)ecma-cyrillic.stmp: ../localedata/charmaps/ECMA-CYRILLIC \
537                              gen-8bit-gap.sh
538         $(generate-8bit-gap-table)
539 $(objpfx)gost_19768-74.stmp: ../localedata/charmaps/GOST_19768-74 \
540                              gen-8bit-gap.sh
541         $(generate-8bit-gap-table)
542 $(objpfx)greek-ccitt.stmp: ../localedata/charmaps/GREEK-CCITT gen-8bit-gap.sh
543         $(generate-8bit-gap-table)
544 $(objpfx)greek7.stmp: ../localedata/charmaps/GREEK7 gen-8bit-gap.sh
545         $(generate-8bit-gap-table)
546 $(objpfx)greek7-old.stmp: ../localedata/charmaps/GREEK7-OLD gen-8bit-gap.sh
547         $(generate-8bit-gap-table)
548 $(objpfx)inis.stmp: ../localedata/charmaps/INIS gen-8bit-gap.sh
549         $(generate-8bit-gap-table)
550 $(objpfx)inis-8.stmp: ../localedata/charmaps/INIS-8 gen-8bit-gap.sh
551         $(generate-8bit-gap-table)
552 $(objpfx)inis-cyrillic.stmp: ../localedata/charmaps/INIS-CYRILLIC \
553                              gen-8bit-gap.sh
554         $(generate-8bit-gap-table)
555 $(objpfx)iso_2033.stmp: ../localedata/charmaps/ISO_2033-1983 gen-8bit-gap.sh
556         $(generate-8bit-gap-table)
557 $(objpfx)iso_5427.stmp: ../localedata/charmaps/ISO_5427 gen-8bit-gap.sh
558         $(generate-8bit-gap-table)
559 $(objpfx)iso_5427-ext.stmp: ../localedata/charmaps/ISO_5427-EXT gen-8bit-gap.sh
560         $(generate-8bit-gap-table)
561 $(objpfx)iso_5428.stmp: ../localedata/charmaps/ISO_5428 gen-8bit-gap.sh
562         $(generate-8bit-gap-table)
563 $(objpfx)iso_10367-box.stmp: ../localedata/charmaps/ISO_10367-BOX \
564                              gen-8bit-gap.sh
565         $(generate-8bit-gap-table)
566 $(objpfx)mac-is.stmp: ../localedata/charmaps/MAC-IS gen-8bit-gap.sh
567         $(generate-8bit-gap-table)
568 $(objpfx)mac-uk.stmp: ../localedata/charmaps/MAC-UK gen-8bit-gap.sh
569         $(generate-8bit-gap-table)
570 $(objpfx)nats-dano.stmp: ../localedata/charmaps/NATS-DANO gen-8bit-gap.sh
571         $(generate-8bit-gap-table)
572 $(objpfx)nats-sefi.stmp: ../localedata/charmaps/NATS-SEFI gen-8bit-gap.sh
573         $(generate-8bit-gap-table)
574
575 headers: $(addprefix $(objpfx),\
576                 $(sed-generated-headers) $(awk-generated-headers))
577
578 $(addprefix $(inst_gconvdir)/, $(modules.so)): \
579     $(inst_gconvdir)/%: $(objpfx)% $(+force)
580         $(do-install-program)
581 $(inst_gconvdir)/gconv-modules: gconv-modules $(+force)
582         $(do-install)
583 endif
584
585 include ../Rules
586
587 tests: $(objpfx)iconv-test.out
588
589 $(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \
590                          $(addprefix $(objpfx),$(modules.so)) \
591                          $(common-objdir)/iconv/iconv_prog TESTS
592         $(SHELL) -e $< $(common-objdir) > $@
593
594 ifdef objpfx
595 $(objpfx)gconv-modules: gconv-modules
596         cp $^ $@
597 endif