]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/test/iconv/Makefile
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / test / iconv / Makefile
1 # $FreeBSD$
2
3 SUBDIR= tablegen refgen posix gnu
4
5 ENCODING= ASCII ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 ISO8859-6 \
6         ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 ISO8859-11 ISO8859-13 \
7         ISO8859-14 ISO8859-15 ISO8859-16 ARMSCII-8 BIG5 BIG5-HKSCS \
8         CP1131 CP1251 CP866 CP949 GB18030 GB2312 GBK VISCII KOI8-R KOI8-U \
9         PT154 SHIFT_JIS EUC-CN EUC-JP EUC-KR
10
11 .if defined(EXTRA_CHECK)
12 ENCODING+= ATARIST BIG5-2003 C99 CP1046 CP1124 CP1125 CP1129 CP1131 CP1133 \
13         CP1161 CP1162 CP1163 CP1250 CP1251 CP1252 CP1253 CP1254 CP1255 \
14         CP1256 CP1257 CP1258 CP437 CP737 CP775 CP850 CP852 CP853 CP855 \
15         CP856 CP857 CP858 CP860 CP861 CP862 CP863 CP864 CP865 CP866 CP869 \
16         CP874 CP922 CP932 CP936 CP943 CP949 CP950 DEC-HANYU EUC-TW \
17         EUC-JIS-2004 GB18030 GBK GEORGIAN-ACADEMY GEORGIAN-PS HP-ROMAN8 \
18         HZ ISO-2022-CN ISO-2022-CN-EXT ISO-2022-JP ISO-2022-JP-1 \
19         ISO-2022-JP-2 ISO-2022-JP-2004 ISO-2022-KR ISO-IR-14 ISO-IR-57 \
20         ISO-IR-165 JAVA JIS_X0201 JIS_X0208-1990 JOHAB KOI8-RU KOI8-T \
21         KZ-1048 MULELAO-1 NEXTSTEP PT154 RISCOS-LATIN1 TCVN5712-1 \
22         TDS565
23 #
24 # MAC encodings are known to be outdated in GNU so it's no good
25 # to ensure compatibility blindly here
26 #
27 #ENCODING+= MACARABIC MACCENTRALEUROPE MACCROATIAN MACCYRILLIC MACGREEK \
28 #       MACICELAND MACROMANIA MACROMAN MACTHAI MACTURKISH MACUKRAINE \
29 #       MACHEBREW
30 .endif
31
32 GEN_FWD?= ${.CURDIR}/tablegen/tablegen -t
33 GEN_REV?= ${.CURDIR}/tablegen/tablegen -tr
34 REF_FWD?= ${.CURDIR}/refgen/refgen -t
35 REF_REV?= ${.CURDIR}/refgen/refgen -tr
36 CMP?=   ${.CURDIR}/tablegen/cmp.sh
37
38 make-ref: refgen
39         mkdir -p ref
40 .for enc in ${ENCODING}
41         @echo "Generating ${enc} --> UTF-32 ..."
42         -@${REF_FWD} ${enc} >ref/${enc}
43         @echo "Generating UTF-32 --> ${enc} ..."
44         -@${REF_REV} ${enc} >ref/${enc}-rev
45 .endfor
46
47 check: tablegen
48         mkdir -p output
49 .for enc in ${ENCODING}
50         @echo "Checking ${enc} --> UTF-32 ..."
51         -@${GEN_FWD} ${enc} >output/${enc}
52         @${CMP} ref/${enc} output/${enc}
53         @echo "Checking UTF-32 --> ${enc} ..."
54         -@${GEN_REV} ${enc} >output/${enc}-rev
55         @${CMP} ref/${enc}-rev output/${enc}-rev
56 .endfor
57
58 perftest: refgen tablegen
59 .for enc in ${ENCODING}
60         @echo "Checking ${enc} --> UTF-32 ..."
61         @echo "GNU runtime:"
62         @/usr/bin/time -h ${REF_FWD} ${enc} >/dev/null
63         @echo "BSD runtime:"
64         @/usr/bin/time -h ${GEN_FWD} ${enc} >/dev/null
65         @echo "Checking UTF-32 --> ${enc} ..."
66         @echo "GNU runtime:"
67         @/usr/bin/time -h ${REF_REV} ${enc} >/dev/null
68         @echo "BSD runtime:"
69         @/usr/bin/time -h ${GEN_REV} ${enc} >/dev/null
70 .endfor
71
72 posixtest: posix
73         @${.CURDIR}/posix/posix
74
75 gnutest: gnu
76         @${.CURDIR}/gnu/gnu
77
78 test-everything: check perftest posixtest gnutest
79
80 CLEANDIRS+= output
81
82 .include <bsd.prog.mk>