1 # $Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $
2 # $FreeBSD: head/usr.bin/vi/catalog/Makefile 254244 2013-08-12 09:56:52Z peter $
6 V
= ${.CURDIR
}/..
/..
/..
/contrib
/nvi
8 CAT
= dutch english french german polish ru_RU.KOI8-R spanish swedish \
9 uk_UA.KOI8-U zh_CN.GB2312
11 SCAN
= ${V}/cl
/*.c
${V}/common
/*.c
${V}/ex
/*.c
${V}/vi
/*.c
19 # Helper since iconv is non trivial to make a build tool
21 .for c in dutch french german spanish swedish
22 iconv
-f ISO8859-1
-t UTF-8
$V/catalog
/$c.base
> $c.UTF-8.base
24 iconv
-f ISO8859-2
-t UTF-8
$V/catalog
/polish.base
> polish.UTF-8.base
25 iconv
-f GB2312
-t UTF-8
$V/catalog
/zh_CN.GB2312.base
> zh_CN.UTF-8.base
26 iconv
-f KOI8-R
-t UTF-8
$V/catalog
/ru_RU.KOI8-R.base
> ru_RU.UTF-8.base
27 iconv
-f KOI8-U
-t UTF-8
$V/catalog
/uk_UA.KOI8-U.base
> uk_UA.UTF-8.base
29 .for c in dutch french german polish spanish swedish zh_CN ru_RU uk_UA
37 sort -u
${.ALLSRC
} | \
40 print "\nMESSAGE NUMBER 1 IS NOT LEGAL"; \
43 if (++nline > $$1) { \
44 print "DUPLICATE MESSAGE NUMBER " $$1; \
49 sed
-e
'1s/^/$$set 1~$$quote "~/; 1y/~/\n/' | \
50 gencat
$c /dev
/stdin
; \
52 if grep DUPLICATE
$c > /dev
/null
; then \
55 if grep
'NOT LEGAL' $c > /dev
/null
; then \
56 grep
'NOT LEGAL' $@
; \
60 CHK
= dutch.
check english.
check french.
check german.
check \
61 polish.
check ru_RU.KOI8-R.
check spanish.
check swedish.
check \
62 uk_UA.KOI8-U.
check zh_CN.GB2312.
check
67 f
=${.ALLSRC
:S
;.base
$;;}; \
68 (echo
"Unused message id's (this is okay):"; \
70 while (++nline < $$1) \
71 printf "%03d\n", nline; \
73 echo
=========================; \
74 echo
"MISSING ERROR MESSAGES (Please add!):"; \
75 awk
'{print $$1}' < $$f.base |
sort -u
> __ck1
; \
76 awk
'{print $$1}' < english.base |
sort -u
> __ck2
; \
77 comm
-13 __ck1 __ck2
; \
78 echo
=========================; \
79 echo
"Extra error messages (just delete them):"; \
80 comm
-23 __ck1 __ck2
; \
81 echo
=========================; \
82 echo
"MESSAGES WITH THE SAME MESSAGE ID's (FIX!):"; \
84 `sed '/^$$/d' < $$f.base | LANG=C sort -u | \
85 awk '{print $$1}' | uniq -d`; do \
88 echo
=========================; \
89 echo
"Duplicate messages, both id and message (this is okay):"; \
90 sed
'/^$$/d' < $$f.base | LANG
=C
sort | uniq
-c | \
91 awk
'$$1 != 1 { print $$0 }' |
sort -n
; \
92 echo
=========================) > $c
95 english.base
: dump
${SCAN} #Makefile
104 ${CC} -o dump
${.ALLSRC
}
106 CLEANFILES
+= dump
${CAT} english.base
*.
check __ck1 __ck2
110 ENLINKS
= en_AU en_CA en_GB en_NZ en_US
111 FRLINKS
= fr_BE fr_CA fr_CH fr_FR
112 DELINKS
= de_AT de_CH de_DE
118 FILESDIR
= /usr
/share
/vi
/catalog
121 SYMLINKS
+= dutch
${FILESDIR}/$l.ISO8859-1
122 SYMLINKS
+= dutch
${FILESDIR}/$l.ISO8859-15
123 SYMLINKS
+= dutch.UTF-8
${FILESDIR}/$l.UTF-8
126 SYMLINKS
+= english
${FILESDIR}/$l.ISO8859-1
127 SYMLINKS
+= english
${FILESDIR}/$l.ISO8859-15
128 SYMLINKS
+= english
${FILESDIR}/$l.US-ASCII
129 SYMLINKS
+= english
${FILESDIR}/$l.UTF-8
131 SYMLINKS
+= english
${FILESDIR}/POSIX
132 SYMLINKS
+= english
${FILESDIR}/C
134 SYMLINKS
+= french
${FILESDIR}/$l.ISO8859-1
135 SYMLINKS
+= french
${FILESDIR}/$l.ISO8859-15
136 SYMLINKS
+= french.UTF-8
${FILESDIR}/$l.UTF-8
139 SYMLINKS
+= german
${FILESDIR}/$l.ISO8859-1
140 SYMLINKS
+= german
${FILESDIR}/$l.ISO8859-15
141 SYMLINKS
+= german.UTF-8
${FILESDIR}/$l.UTF-8
144 SYMLINKS
+= spanish
${FILESDIR}/$l.ISO8859-1
145 SYMLINKS
+= spanish
${FILESDIR}/$l.ISO8859-15
146 SYMLINKS
+= spanish.UTF-8
${FILESDIR}/$l.UTF-8
149 SYMLINKS
+= swedish
${FILESDIR}/$l.ISO8859-1
150 SYMLINKS
+= swedish
${FILESDIR}/$l.ISO8859-15
151 SYMLINKS
+= swedish.UTF-8
${FILESDIR}/$l.UTF-8
154 SYMLINKS
+= polish
${FILESDIR}/$l.ISO8859-2
155 SYMLINKS
+= polish.UTF-8
${FILESDIR}/$l.UTF-8
157 SYMLINKS
+= zh_CN.GB2312
${FILESDIR}/zh_CN.GB18030
158 SYMLINKS
+= zh_CN.GB2312
${FILESDIR}/zh_CN.GBK
159 SYMLINKS
+= zh_CN.GB2312
${FILESDIR}/zh_CN.eucCN
161 .
include <bsd.prog.mk
>