1f0957ccaSPeter Wemm# $Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $ 2f0957ccaSPeter Wemm 3f0957ccaSPeter Wemm.include <bsd.own.mk> 4f0957ccaSPeter Wemm 517f1329dSGlen BarberPACKAGE=vi 6f0957ccaSPeter WemmV= ${.CURDIR}/../../../contrib/nvi 7f0957ccaSPeter Wemm 817f1329dSGlen BarberFILESGROUPS+=VICAT 99da80e9eSGlen BarberCAT= dutch english french german polish ru_RU.KOI8-R spanish swedish \ 10110d525eSBaptiste Daroussin uk_UA.KOI8-U zh_CN.GB2312 tr_TR.ISO8859-9 tr_TR.UTF-8 119da80e9eSGlen BarberVICAT= ${CAT} 1217f1329dSGlen BarberVICATDIR= ${FILESDIR} 1317f1329dSGlen BarberVICATPACKAGE= ${PACKAGE} 14f0957ccaSPeter Wemm 15f0957ccaSPeter WemmSCAN= ${V}/cl/*.c ${V}/common/*.c ${V}/ex/*.c ${V}/vi/*.c 16f0957ccaSPeter Wemm 17f0957ccaSPeter Wemm.PATH: ${V}/catalog 18f0957ccaSPeter Wemm 19f0957ccaSPeter Wemmall: dump 20f0957ccaSPeter Wemm 21f0957ccaSPeter Wemmbuild-tools: dump 22755cc40cSBaptiste DaroussinWARNS= 3 23f0957ccaSPeter Wemm 249b67bbbaSPeter Wemm# Helper since iconv is non trivial to make a build tool 259b67bbbaSPeter Wemmutf8convert: 269b67bbbaSPeter Wemm.for c in dutch french german spanish swedish 279b67bbbaSPeter Wemm iconv -f ISO8859-1 -t UTF-8 $V/catalog/$c.base > $c.UTF-8.base 28f0957ccaSPeter Wemm.endfor 299b67bbbaSPeter Wemm iconv -f ISO8859-2 -t UTF-8 $V/catalog/polish.base > polish.UTF-8.base 309b67bbbaSPeter Wemm iconv -f GB2312 -t UTF-8 $V/catalog/zh_CN.GB2312.base > zh_CN.UTF-8.base 319b67bbbaSPeter Wemm iconv -f KOI8-R -t UTF-8 $V/catalog/ru_RU.KOI8-R.base > ru_RU.UTF-8.base 329b67bbbaSPeter Wemm iconv -f KOI8-U -t UTF-8 $V/catalog/uk_UA.KOI8-U.base > uk_UA.UTF-8.base 33f0957ccaSPeter Wemm 349b67bbbaSPeter Wemm.for c in dutch french german polish spanish swedish zh_CN ru_RU uk_UA 359b67bbbaSPeter WemmCAT+= $c.UTF-8 369b67bbbaSPeter Wemm.endfor 376c43122aSPeter Wemm 38f0957ccaSPeter Wemm.for c in ${CAT} 39f0957ccaSPeter Wemm${c}: ${c}.base 4093f42260SAlexander Kabaev echo "... $c"; \ 41f0957ccaSPeter Wemm rm -f $c; \ 42adbb8a93SEd Maste env LC_ALL=C sort -u ${.ALLSRC} | \ 43f0957ccaSPeter Wemm awk '{ \ 44f0957ccaSPeter Wemm if ($$1 == 1) { \ 45f0957ccaSPeter Wemm print "\nMESSAGE NUMBER 1 IS NOT LEGAL"; \ 46f0957ccaSPeter Wemm exit 1; \ 47f0957ccaSPeter Wemm } \ 48f0957ccaSPeter Wemm if (++nline > $$1) { \ 49f0957ccaSPeter Wemm print "DUPLICATE MESSAGE NUMBER " $$1; \ 50f0957ccaSPeter Wemm exit 1; \ 51f0957ccaSPeter Wemm } \ 5293f42260SAlexander Kabaev print $$0; \ 53f0957ccaSPeter Wemm }' | \ 54f0957ccaSPeter Wemm sed -e '1s/^/$$set 1~$$quote "~/; 1y/~/\n/' | \ 55f0957ccaSPeter Wemm gencat $c /dev/stdin; \ 56f0957ccaSPeter Wemm chmod 444 $c; \ 57f0957ccaSPeter Wemm if grep DUPLICATE $c > /dev/null; then \ 58f0957ccaSPeter Wemm grep DUPLICATE $@; \ 59f0957ccaSPeter Wemm fi; \ 60f0957ccaSPeter Wemm if grep 'NOT LEGAL' $c > /dev/null; then \ 61f0957ccaSPeter Wemm grep 'NOT LEGAL' $@; \ 62f0957ccaSPeter Wemm fi 63f0957ccaSPeter Wemm.endfor 64f0957ccaSPeter Wemm 65f0957ccaSPeter WemmCHK= dutch.check english.check french.check german.check \ 66f0957ccaSPeter Wemm polish.check ru_RU.KOI8-R.check spanish.check swedish.check \ 67f0957ccaSPeter Wemm uk_UA.KOI8-U.check zh_CN.GB2312.check 68f0957ccaSPeter Wemmcheck: ${CHK} 69f0957ccaSPeter Wemm.for c in ${CAT} 70f0957ccaSPeter Wemm${c}.check: ${c}.base 71f0957ccaSPeter Wemm @echo "... $c"; \ 72f0957ccaSPeter Wemm f=${.ALLSRC:S;.base$;;}; \ 73f0957ccaSPeter Wemm (echo "Unused message id's (this is okay):"; \ 74f0957ccaSPeter Wemm awk '{ \ 75f0957ccaSPeter Wemm while (++nline < $$1) \ 76f0957ccaSPeter Wemm printf "%03d\n", nline; \ 77f0957ccaSPeter Wemm }' < $$f.base; \ 78f0957ccaSPeter Wemm echo =========================; \ 79f0957ccaSPeter Wemm echo "MISSING ERROR MESSAGES (Please add!):"; \ 80f0957ccaSPeter Wemm awk '{print $$1}' < $$f.base | sort -u > __ck1; \ 81f0957ccaSPeter Wemm awk '{print $$1}' < english.base | sort -u > __ck2; \ 82f0957ccaSPeter Wemm comm -13 __ck1 __ck2; \ 83f0957ccaSPeter Wemm echo =========================; \ 84f0957ccaSPeter Wemm echo "Extra error messages (just delete them):"; \ 85f0957ccaSPeter Wemm comm -23 __ck1 __ck2; \ 86f0957ccaSPeter Wemm echo =========================; \ 87f0957ccaSPeter Wemm echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):"; \ 88f0957ccaSPeter Wemm for j in \ 89adbb8a93SEd Maste `sed '/^$$/d' < $$f.base | LC_ALL=C sort -u | \ 90f0957ccaSPeter Wemm awk '{print $$1}' | uniq -d`; do \ 91f0957ccaSPeter Wemm egrep $$j $$f.base; \ 92f0957ccaSPeter Wemm done; \ 93f0957ccaSPeter Wemm echo =========================; \ 94f0957ccaSPeter Wemm echo "Duplicate messages, both id and message (this is okay):"; \ 95adbb8a93SEd Maste sed '/^$$/d' < $$f.base | LC_ALL=C sort | uniq -c | \ 96f0957ccaSPeter Wemm awk '$$1 != 1 { print $$0 }' | sort -n; \ 97f0957ccaSPeter Wemm echo =========================) > $c 98f0957ccaSPeter Wemm.endfor 99f0957ccaSPeter Wemm 100f0957ccaSPeter Wemmenglish.base: dump ${SCAN} #Makefile 10129df9f6bSBryan Drewery ${BTOOLSPATH:U.}/dump ${SCAN} |\ 102f0957ccaSPeter Wemm sed -e '/|/!d' \ 103f0957ccaSPeter Wemm -e 's/|/ "/' \ 104f0957ccaSPeter Wemm -e 's/^"//' |\ 105755cc40cSBaptiste Daroussin LC_ALL=C sort -nu > $@ 106f0957ccaSPeter Wemm 107f0957ccaSPeter Wemm 108c63c5ab0SBryan DreweryDEPENDOBJS+= dump 109c63c5ab0SBryan Drewerydump: ${BUILD_TOOLS_META} 110f0957ccaSPeter Wemm 111f0957ccaSPeter WemmCLEANFILES+= dump ${CAT} english.base *.check __ck1 __ck2 112f0957ccaSPeter Wemm 113f0957ccaSPeter WemmCATALOGS= ${CAT} 114f0957ccaSPeter WemmNLLINKS= nl_NL 115f0957ccaSPeter WemmENLINKS= en_AU en_CA en_GB en_NZ en_US 116f0957ccaSPeter WemmFRLINKS= fr_BE fr_CA fr_CH fr_FR 117f0957ccaSPeter WemmDELINKS= de_AT de_CH de_DE 118f0957ccaSPeter WemmESLINKS= es_ES 119f0957ccaSPeter WemmSVLINKS= sv_SE 120f0957ccaSPeter WemmPLLINKS= pl_PL 121f0957ccaSPeter Wemm 122f0957ccaSPeter WemmFILES= ${CATALOGS} 1237d8f797bSBryan DreweryFILESDIR= ${SHAREDIR}/vi/catalog 124f0957ccaSPeter WemmSYMLINKS= 125f0957ccaSPeter Wemm.for l in ${NLLINKS} 126f0957ccaSPeter WemmSYMLINKS+= dutch ${FILESDIR}/$l.ISO8859-1 127f0957ccaSPeter WemmSYMLINKS+= dutch ${FILESDIR}/$l.ISO8859-15 1289b67bbbaSPeter WemmSYMLINKS+= dutch.UTF-8 ${FILESDIR}/$l.UTF-8 129f0957ccaSPeter Wemm.endfor 130f0957ccaSPeter Wemm.for l in ${ENLINKS} 131f0957ccaSPeter WemmSYMLINKS+= english ${FILESDIR}/$l.ISO8859-1 132f0957ccaSPeter WemmSYMLINKS+= english ${FILESDIR}/$l.ISO8859-15 133f0957ccaSPeter WemmSYMLINKS+= english ${FILESDIR}/$l.US-ASCII 1349b67bbbaSPeter WemmSYMLINKS+= english ${FILESDIR}/$l.UTF-8 135f0957ccaSPeter Wemm.endfor 136f0957ccaSPeter WemmSYMLINKS+= english ${FILESDIR}/POSIX 137f0957ccaSPeter WemmSYMLINKS+= english ${FILESDIR}/C 138f0957ccaSPeter Wemm.for l in ${FRLINKS} 139f0957ccaSPeter WemmSYMLINKS+= french ${FILESDIR}/$l.ISO8859-1 140f0957ccaSPeter WemmSYMLINKS+= french ${FILESDIR}/$l.ISO8859-15 1419b67bbbaSPeter WemmSYMLINKS+= french.UTF-8 ${FILESDIR}/$l.UTF-8 142f0957ccaSPeter Wemm.endfor 143f0957ccaSPeter Wemm.for l in ${DELINKS} 144f0957ccaSPeter WemmSYMLINKS+= german ${FILESDIR}/$l.ISO8859-1 145f0957ccaSPeter WemmSYMLINKS+= german ${FILESDIR}/$l.ISO8859-15 1469b67bbbaSPeter WemmSYMLINKS+= german.UTF-8 ${FILESDIR}/$l.UTF-8 147f0957ccaSPeter Wemm.endfor 148f0957ccaSPeter Wemm.for l in ${ESLINKS} 149f0957ccaSPeter WemmSYMLINKS+= spanish ${FILESDIR}/$l.ISO8859-1 150f0957ccaSPeter WemmSYMLINKS+= spanish ${FILESDIR}/$l.ISO8859-15 1519b67bbbaSPeter WemmSYMLINKS+= spanish.UTF-8 ${FILESDIR}/$l.UTF-8 152f0957ccaSPeter Wemm.endfor 153f0957ccaSPeter Wemm.for l in ${SVLINKS} 154f0957ccaSPeter WemmSYMLINKS+= swedish ${FILESDIR}/$l.ISO8859-1 155f0957ccaSPeter WemmSYMLINKS+= swedish ${FILESDIR}/$l.ISO8859-15 156f0957ccaSPeter WemmSYMLINKS+= swedish.UTF-8 ${FILESDIR}/$l.UTF-8 157f0957ccaSPeter Wemm.endfor 158f0957ccaSPeter Wemm.for l in ${PLLINKS} 1599b67bbbaSPeter WemmSYMLINKS+= polish ${FILESDIR}/$l.ISO8859-2 160f0957ccaSPeter WemmSYMLINKS+= polish.UTF-8 ${FILESDIR}/$l.UTF-8 161f0957ccaSPeter Wemm.endfor 1629b67bbbaSPeter WemmSYMLINKS+= zh_CN.GB2312 ${FILESDIR}/zh_CN.GB18030 1639b67bbbaSPeter WemmSYMLINKS+= zh_CN.GB2312 ${FILESDIR}/zh_CN.GBK 1649b67bbbaSPeter WemmSYMLINKS+= zh_CN.GB2312 ${FILESDIR}/zh_CN.eucCN 165f0957ccaSPeter Wemm 166f0957ccaSPeter Wemm.include <bsd.prog.mk> 167