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