1 # $Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $
7 V= ${.CURDIR}/../../../contrib/nvi
10 CAT= dutch english french german polish ru_RU.KOI8-R spanish swedish \
11 uk_UA.KOI8-U zh_CN.GB2312 tr_TR.ISO8859-9 tr_TR.UTF-8
14 VICATPACKAGE= ${PACKAGE}
16 SCAN= ${V}/cl/*.c ${V}/common/*.c ${V}/ex/*.c ${V}/vi/*.c
25 # Helper since iconv is non trivial to make a build tool
27 .for c in dutch french german spanish swedish
28 iconv -f ISO8859-1 -t UTF-8 $V/catalog/$c.base > $c.UTF-8.base
30 iconv -f ISO8859-2 -t UTF-8 $V/catalog/polish.base > polish.UTF-8.base
31 iconv -f GB2312 -t UTF-8 $V/catalog/zh_CN.GB2312.base > zh_CN.UTF-8.base
32 iconv -f KOI8-R -t UTF-8 $V/catalog/ru_RU.KOI8-R.base > ru_RU.UTF-8.base
33 iconv -f KOI8-U -t UTF-8 $V/catalog/uk_UA.KOI8-U.base > uk_UA.UTF-8.base
35 .for c in dutch french german polish spanish swedish zh_CN ru_RU uk_UA
43 env LC_ALL=C sort -u ${.ALLSRC} | \
46 print "\nMESSAGE NUMBER 1 IS NOT LEGAL"; \
49 if (++nline > $$1) { \
50 print "DUPLICATE MESSAGE NUMBER " $$1; \
55 sed -e '1s/^/$$set 1~$$quote "~/; 1y/~/\n/' | \
56 gencat $c /dev/stdin; \
58 if grep DUPLICATE $c > /dev/null; then \
61 if grep 'NOT LEGAL' $c > /dev/null; then \
62 grep 'NOT LEGAL' $@; \
66 CHK= dutch.check english.check french.check german.check \
67 polish.check ru_RU.KOI8-R.check spanish.check swedish.check \
68 uk_UA.KOI8-U.check zh_CN.GB2312.check
73 f=${.ALLSRC:S;.base$;;}; \
74 (echo "Unused message id's (this is okay):"; \
76 while (++nline < $$1) \
77 printf "%03d\n", nline; \
79 echo =========================; \
80 echo "MISSING ERROR MESSAGES (Please add!):"; \
81 awk '{print $$1}' < $$f.base | sort -u > __ck1; \
82 awk '{print $$1}' < english.base | sort -u > __ck2; \
83 comm -13 __ck1 __ck2; \
84 echo =========================; \
85 echo "Extra error messages (just delete them):"; \
86 comm -23 __ck1 __ck2; \
87 echo =========================; \
88 echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):"; \
90 `sed '/^$$/d' < $$f.base | LC_ALL=C sort -u | \
91 awk '{print $$1}' | uniq -d`; do \
94 echo =========================; \
95 echo "Duplicate messages, both id and message (this is okay):"; \
96 sed '/^$$/d' < $$f.base | LC_ALL=C sort | uniq -c | \
97 awk '$$1 != 1 { print $$0 }' | sort -n; \
98 echo =========================) > $c
101 english.base: dump ${SCAN} #Makefile
102 ${BTOOLSPATH:U.}/dump ${SCAN} |\
106 LC_ALL=C sort -nu > $@
110 dump: ${BUILD_TOOLS_META}
112 CLEANFILES+= dump ${CAT} english.base *.check __ck1 __ck2
116 ENLINKS= en_AU en_CA en_GB en_NZ en_US
117 FRLINKS= fr_BE fr_CA fr_CH fr_FR
118 DELINKS= de_AT de_CH de_DE
124 FILESDIR= ${SHAREDIR}/vi/catalog
127 SYMLINKS+= dutch ${FILESDIR}/$l.ISO8859-1
128 SYMLINKS+= dutch ${FILESDIR}/$l.ISO8859-15
129 SYMLINKS+= dutch.UTF-8 ${FILESDIR}/$l.UTF-8
132 SYMLINKS+= english ${FILESDIR}/$l.ISO8859-1
133 SYMLINKS+= english ${FILESDIR}/$l.ISO8859-15
134 SYMLINKS+= english ${FILESDIR}/$l.US-ASCII
135 SYMLINKS+= english ${FILESDIR}/$l.UTF-8
137 SYMLINKS+= english ${FILESDIR}/POSIX
138 SYMLINKS+= english ${FILESDIR}/C
140 SYMLINKS+= french ${FILESDIR}/$l.ISO8859-1
141 SYMLINKS+= french ${FILESDIR}/$l.ISO8859-15
142 SYMLINKS+= french.UTF-8 ${FILESDIR}/$l.UTF-8
145 SYMLINKS+= german ${FILESDIR}/$l.ISO8859-1
146 SYMLINKS+= german ${FILESDIR}/$l.ISO8859-15
147 SYMLINKS+= german.UTF-8 ${FILESDIR}/$l.UTF-8
150 SYMLINKS+= spanish ${FILESDIR}/$l.ISO8859-1
151 SYMLINKS+= spanish ${FILESDIR}/$l.ISO8859-15
152 SYMLINKS+= spanish.UTF-8 ${FILESDIR}/$l.UTF-8
155 SYMLINKS+= swedish ${FILESDIR}/$l.ISO8859-1
156 SYMLINKS+= swedish ${FILESDIR}/$l.ISO8859-15
157 SYMLINKS+= swedish.UTF-8 ${FILESDIR}/$l.UTF-8
160 SYMLINKS+= polish ${FILESDIR}/$l.ISO8859-2
161 SYMLINKS+= polish.UTF-8 ${FILESDIR}/$l.UTF-8
163 SYMLINKS+= zh_CN.GB2312 ${FILESDIR}/zh_CN.GB18030
164 SYMLINKS+= zh_CN.GB2312 ${FILESDIR}/zh_CN.GBK
165 SYMLINKS+= zh_CN.GB2312 ${FILESDIR}/zh_CN.eucCN
167 .include <bsd.prog.mk>