1# -*- Makefile -*- for libiconv/tests
2
3#### Start of system configuration section. ####
4
5# Flags that can be set on the nmake command line:
6#   DLL=1     for compiling a .dll with a stub .lib (default is a static .lib)
7#             Note that this works only with MFLAGS=-MD.
8#   MFLAGS={-ML|-MT|-MD} for defining the compilation model
9#     MFLAGS=-ML (the default)  Single-threaded, statically linked - libc.lib
10#     MFLAGS=-MT                Multi-threaded, statically linked  - libcmt.lib
11#     MFLAGS=-MD                Multi-threaded, dynamically linked - msvcrt.lib
12#   DEBUG=1   for compiling with debugging information
13!if !defined(DLL)
14DLL=0
15!endif
16!if !defined(DEBUG)
17DEBUG=0
18!endif
19!if !defined(MFLAGS)
20!if !$(DLL)
21MFLAGS=
22!else
23MFLAGS=-MD
24!endif
25!endif
26
27!if $(DEBUG)
28OPTIMFLAGS = -Od -Z7
29DEBUGFLAGS = -Z7
30!else
31# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5.
32OPTIMFLAGS = -D_NDEBUG -O1
33DEBUGFLAGS =
34!endif
35
36# Directories used by "make":
37srcdir = .
38
39# Programs used by "make":
40CC = cl
41CFLAGS = $(MFLAGS) -W1 $(OPTIMFLAGS)
42INCLUDES = -I. -I..\include -I..\srclib -I..\lib
43RM = -del
44
45#### End of system configuration section. ####
46
47SHELL = /bin/sh
48
49all :
50
51install : all
52
53installdirs :
54
55uninstall :
56
57check : all table-from.exe table-to.exe ../src/iconv.exe uniq-u.exe
58	$(srcdir)\check-stateless.bat $(srcdir) ASCII
59#	/* General multi-byte encodings */
60	$(CC) $(INCLUDES) $(CFLAGS) $(srcdir)\genutf8.c -Fegenutf8.exe
61	$(RM) genutf8.obj
62	.\genutf8 > UTF-8.TXT
63	$(srcdir)\check-stateless.bat . UTF-8
64	$(RM) genutf8.exe
65	$(RM) UTF-8.TXT
66	$(srcdir)\check-stateful.bat $(srcdir) UCS-2BE
67	$(srcdir)\check-stateful.bat $(srcdir) UCS-2LE
68	$(srcdir)\check-stateful.bat $(srcdir) UCS-4BE
69	$(srcdir)\check-stateful.bat $(srcdir) UCS-4LE
70	$(srcdir)\check-stateful.bat $(srcdir) UTF-16
71	$(srcdir)\check-stateful.bat $(srcdir) UTF-16BE
72	$(srcdir)\check-stateful.bat $(srcdir) UTF-16LE
73	$(srcdir)\check-stateful.bat $(srcdir) UTF-32
74	$(srcdir)\check-stateful.bat $(srcdir) UTF-32BE
75	$(srcdir)\check-stateful.bat $(srcdir) UTF-32LE
76	$(srcdir)\check-stateful.bat $(srcdir) UTF-7
77#	/* 8-bit encodings */
78	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-1
79	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-2
80	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-3
81	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-4
82	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-5
83	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-6
84	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-7
85	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-8
86	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-9
87	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-10
88	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-11
89	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-13
90	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-14
91	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-15
92	$(srcdir)\check-stateless.bat $(srcdir) ISO-8859-16
93	$(srcdir)\check-stateless.bat $(srcdir) KOI8-R
94	$(srcdir)\check-stateless.bat $(srcdir) KOI8-U
95	$(srcdir)\check-stateless.bat $(srcdir) KOI8-RU
96	$(srcdir)\check-stateless.bat $(srcdir) CP1250
97	$(srcdir)\check-stateless.bat $(srcdir) CP1251
98	$(srcdir)\check-stateless.bat $(srcdir) CP1252
99	$(srcdir)\check-stateless.bat $(srcdir) CP1253
100	$(srcdir)\check-stateless.bat $(srcdir) CP1254
101	$(srcdir)\check-stateless.bat $(srcdir) CP1255
102	$(srcdir)\check-stateful.bat $(srcdir) CP1255
103	$(srcdir)\check-stateless.bat $(srcdir) CP1256
104	$(srcdir)\check-stateless.bat $(srcdir) CP1257
105	$(srcdir)\check-stateless.bat $(srcdir) CP1258
106	$(srcdir)\check-stateful.bat $(srcdir) CP1258
107	$(srcdir)\check-stateless.bat $(srcdir) CP850
108	$(srcdir)\check-stateless.bat $(srcdir) CP862
109	$(srcdir)\check-stateless.bat $(srcdir) CP866
110	$(srcdir)\check-stateless.bat $(srcdir) MacRoman
111	$(srcdir)\check-stateless.bat $(srcdir) MacCentralEurope
112	$(srcdir)\check-stateless.bat $(srcdir) MacIceland
113	$(srcdir)\check-stateless.bat $(srcdir) MacCroatian
114	$(srcdir)\check-stateless.bat $(srcdir) MacRomania
115	$(srcdir)\check-stateless.bat $(srcdir) MacCyrillic
116	$(srcdir)\check-stateless.bat $(srcdir) MacUkraine
117	$(srcdir)\check-stateless.bat $(srcdir) MacGreek
118	$(srcdir)\check-stateless.bat $(srcdir) MacTurkish
119	$(srcdir)\check-stateless.bat $(srcdir) MacHebrew
120	$(srcdir)\check-stateless.bat $(srcdir) MacArabic
121	$(srcdir)\check-stateless.bat $(srcdir) MacThai
122	$(srcdir)\check-stateless.bat $(srcdir) HP-ROMAN8
123	$(srcdir)\check-stateless.bat $(srcdir) NEXTSTEP
124	$(srcdir)\check-stateless.bat $(srcdir) ARMSCII-8
125	$(srcdir)\check-stateless.bat $(srcdir) Georgian-Academy
126	$(srcdir)\check-stateless.bat $(srcdir) Georgian-PS
127	$(srcdir)\check-stateless.bat $(srcdir) KOI8-T
128	$(srcdir)\check-stateless.bat $(srcdir) PT154
129	$(srcdir)\check-stateless.bat $(srcdir) MuleLao-1
130	$(srcdir)\check-stateless.bat $(srcdir) CP1133
131	$(srcdir)\check-stateless.bat $(srcdir) TIS-620
132	$(srcdir)\check-stateless.bat $(srcdir) CP874
133	$(srcdir)\check-stateless.bat $(srcdir) VISCII
134	$(srcdir)\check-stateless.bat $(srcdir) TCVN
135	$(srcdir)\check-stateful.bat $(srcdir) TCVN
136#	/* CJK character sets */
137	$(srcdir)\check-stateless.bat $(srcdir) ISO646-JP
138	$(srcdir)\check-stateless.bat $(srcdir) JIS_X0201
139#	$(srcdir)\check-stateless.bat $(srcdir) JIS_X0208 # redundant, see EUC-JP
140#	$(srcdir)\check-stateless.bat $(srcdir) JIS_X0212 # redundant, see EUC-JP
141	$(srcdir)\check-stateless.bat $(srcdir) ISO646-CN
142#	$(srcdir)\check-stateless.bat $(srcdir) GB_2312-80 # redundant, see EUC-CN
143	$(srcdir)\check-stateless.bat $(srcdir) ISO-IR-165
144#	$(srcdir)\check-stateless.bat $(srcdir) KSC_5601 # redundant, see EUC-KR
145#	/* CJK encodings */
146	$(srcdir)\check-stateless.bat $(srcdir) EUC-JP
147	$(srcdir)\check-stateless.bat $(srcdir) SHIFT_JIS
148	$(srcdir)\check-stateless.bat $(srcdir) CP932
149	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-JP
150	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-JP-2
151	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-JP-1
152	$(srcdir)\check-stateless.bat $(srcdir) EUC-CN
153	$(srcdir)\check-stateless.bat $(srcdir) GBK
154	$(srcdir)\check-stateless.bat $(srcdir) CP936
155	$(CC) $(INCLUDES) $(CFLAGS) $(srcdir)\gengb18030z.c -Fegengb18030z.exe
156	$(RM) gengb18030z.obj
157	.\gengb18030z > GB18030Z.TXT
158	copy /b $(srcdir)\GB18030-BMP.TXT + GB18030Z.TXT GB18030TMP.TXT
159	$(RM) GB18030Z.TXT
160	sort < GB18030TMP.TXT > GB18030.TXT
161	$(RM) GB18030TMP.TXT
162	$(srcdir)\check-stateless.bat . GB18030
163	$(RM) gengb18030z.exe
164	$(RM) GB18030.TXT
165	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-CN
166	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-CN-EXT
167	$(srcdir)\check-stateful.bat $(srcdir) HZ
168	$(srcdir)\check-stateless.bat $(srcdir) EUC-TW
169	$(srcdir)\check-stateless.bat $(srcdir) BIG5
170	$(srcdir)\check-stateless.bat $(srcdir) CP950
171#	$(srcdir)\check-stateless.bat $(srcdir) BIG5-HKSCS
172#	$(srcdir)\check-stateful.bat $(srcdir) BIG5-HKSCS
173	$(srcdir)\check-stateless.bat $(srcdir) EUC-KR
174	$(srcdir)\check-stateless.bat $(srcdir) CP949
175	$(srcdir)\check-stateless.bat $(srcdir) JOHAB
176	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-KR
177#	/* DOS encodings */
178	$(srcdir)\check-stateless.bat $(srcdir) CP437
179	$(srcdir)\check-stateless.bat $(srcdir) CP737
180	$(srcdir)\check-stateless.bat $(srcdir) CP775
181	$(srcdir)\check-stateless.bat $(srcdir) CP852
182	$(srcdir)\check-stateless.bat $(srcdir) CP853
183	$(srcdir)\check-stateless.bat $(srcdir) CP855
184	$(srcdir)\check-stateless.bat $(srcdir) CP857
185	$(srcdir)\check-stateless.bat $(srcdir) CP858
186	$(srcdir)\check-stateless.bat $(srcdir) CP860
187	$(srcdir)\check-stateless.bat $(srcdir) CP861
188	$(srcdir)\check-stateless.bat $(srcdir) CP863
189	$(srcdir)\check-stateless.bat $(srcdir) CP864
190	$(srcdir)\check-stateless.bat $(srcdir) CP865
191	$(srcdir)\check-stateless.bat $(srcdir) CP869
192	$(srcdir)\check-stateless.bat $(srcdir) CP1125
193#	/* transliteration */
194	$(srcdir)\check-translit.bat $(srcdir) Quotes UTF-8 ISO-8859-1
195	$(srcdir)\check-translit.bat $(srcdir) Quotes UTF-8 ASCII
196	$(srcdir)\check-translit.bat $(srcdir) Translit1 ISO-8859-1 ASCII
197
198table-from.exe : $(srcdir)/table-from.c ../lib/iconv.lib
199	$(CC) $(INCLUDES) $(CFLAGS) $(srcdir)/table-from.c ../lib/iconv.lib -Fetable-from.exe
200	$(RM) table-from.obj
201!if $(DLL)
202	copy ..\lib\iconv.dll iconv.dll
203!endif
204
205table-to.exe : $(srcdir)/table-to.c ../lib/iconv.lib
206	$(CC) $(INCLUDES) $(CFLAGS) $(srcdir)/table-to.c ../lib/iconv.lib -Fetable-to.exe
207	$(RM) table-to.obj
208!if $(DLL)
209	copy ..\lib\iconv.dll iconv.dll
210!endif
211
212uniq-u.exe : $(srcdir)/uniq-u.c
213	$(CC) $(CFLAGS) $(srcdir)/uniq-u.c -Feuniq-u.exe
214	$(RM) uniq-u.obj
215
216mostlyclean : clean
217
218clean : force
219	$(RM) *.obj
220	$(RM) *.dll
221	$(RM) *.exe
222	$(RM) tmp*
223	$(RM) UTF-8.TXT
224	$(RM) GB18030Z.TXT
225	$(RM) GB18030TMP.TXT
226	$(RM) GB18030.TXT
227
228distclean : clean
229
230maintainer-clean : distclean
231
232force :
233