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) GB18030
155	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-CN
156	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-CN-EXT
157	$(srcdir)\check-stateful.bat $(srcdir) HZ
158	$(srcdir)\check-stateless.bat $(srcdir) EUC-TW
159	$(srcdir)\check-stateless.bat $(srcdir) BIG5
160	$(srcdir)\check-stateless.bat $(srcdir) CP950
161	$(srcdir)\check-stateless.bat $(srcdir) BIG5-HKSCS
162	$(srcdir)\check-stateless.bat $(srcdir) EUC-KR
163	$(srcdir)\check-stateless.bat $(srcdir) CP949
164	$(srcdir)\check-stateless.bat $(srcdir) JOHAB
165	$(srcdir)\check-stateful.bat $(srcdir) ISO-2022-KR
166#	/* DOS encodings */
167	$(srcdir)\check-stateless.bat $(srcdir) CP437
168	$(srcdir)\check-stateless.bat $(srcdir) CP737
169	$(srcdir)\check-stateless.bat $(srcdir) CP775
170	$(srcdir)\check-stateless.bat $(srcdir) CP852
171	$(srcdir)\check-stateless.bat $(srcdir) CP853
172	$(srcdir)\check-stateless.bat $(srcdir) CP855
173	$(srcdir)\check-stateless.bat $(srcdir) CP857
174	$(srcdir)\check-stateless.bat $(srcdir) CP858
175	$(srcdir)\check-stateless.bat $(srcdir) CP860
176	$(srcdir)\check-stateless.bat $(srcdir) CP861
177	$(srcdir)\check-stateless.bat $(srcdir) CP863
178	$(srcdir)\check-stateless.bat $(srcdir) CP864
179	$(srcdir)\check-stateless.bat $(srcdir) CP865
180	$(srcdir)\check-stateless.bat $(srcdir) CP869
181	$(srcdir)\check-stateless.bat $(srcdir) CP1125
182#	/* transliteration */
183	$(srcdir)\check-translit.bat $(srcdir) Quotes UTF-8 ISO-8859-1
184	$(srcdir)\check-translit.bat $(srcdir) Quotes UTF-8 ASCII
185	$(srcdir)\check-translit.bat $(srcdir) Translit1 ISO-8859-1 ASCII
186
187table-from.exe : $(srcdir)/table-from.c ../lib/iconv.lib
188	$(CC) $(INCLUDES) $(CFLAGS) $(srcdir)/table-from.c ../lib/iconv.lib -Fetable-from.exe
189	$(RM) table-from.obj
190!if $(DLL)
191	copy ..\lib\iconv.dll iconv.dll
192!endif
193
194table-to.exe : $(srcdir)/table-to.c ../lib/iconv.lib
195	$(CC) $(INCLUDES) $(CFLAGS) $(srcdir)/table-to.c ../lib/iconv.lib -Fetable-to.exe
196	$(RM) table-to.obj
197!if $(DLL)
198	copy ..\lib\iconv.dll iconv.dll
199!endif
200
201uniq-u.exe : $(srcdir)/uniq-u.c
202	$(CC) $(CFLAGS) $(srcdir)/uniq-u.c -Feuniq-u.exe
203	$(RM) uniq-u.obj
204
205mostlyclean : clean
206
207clean : force
208	$(RM) *.obj
209	$(RM) *.dll
210	$(RM) *.exe
211	$(RM) tmp*
212	$(RM) UTF-8.TXT
213
214distclean : clean
215
216maintainer-clean : distclean
217
218force :
219