13a571abcSchristos# Id: Makefile,v 8.30 1996/11/27 11:59:09 bostic Exp (Berkeley) Date: 1996/11/27 11:59:09 23a571abcSchristos 3*08d478e3SchristosCAT= dutch english french german ru_RU.KOI8-R spanish swedish 43a571abcSchristosFILES= ../cl/*.c ../common/*.c ../ex/*.c ../vi/*.c 53a571abcSchristos 63a571abcSchristosall: dump ${CAT} 73a571abcSchristos 83a571abcSchristos${CAT}: english.base 93a571abcSchristos @echo "... $@"; \ 103a571abcSchristos rm -f $@; \ 113a571abcSchristos sort -u $@.base | \ 123a571abcSchristos awk '{ \ 133a571abcSchristos if ($$1 == 1) { \ 143a571abcSchristos print "\nMESSAGE NUMBER 1 IS NOT LEGAL"; \ 153a571abcSchristos exit 1; \ 163a571abcSchristos } \ 173a571abcSchristos if (++nline > $$1) { \ 183a571abcSchristos print "DUPLICATE MESSAGE NUMBER " $$1; \ 193a571abcSchristos exit 1; \ 203a571abcSchristos } \ 213a571abcSchristos for (; nline < $$1; ++nline) \ 223a571abcSchristos print ""; \ 233a571abcSchristos print $0; \ 243a571abcSchristos }' | \ 253a571abcSchristos sed -e '1s/^/VI_MESSAGE_CATALOG/' \ 263a571abcSchristos -e '/"/s/^[^"]*"//' \ 273a571abcSchristos -e '1!s/"$$/X/' > $@; \ 283a571abcSchristos chmod 444 $@; \ 293a571abcSchristos if grep DUPLICATE $@ > /dev/null; then \ 303a571abcSchristos grep DUPLICATE $@; \ 313a571abcSchristos fi; \ 323a571abcSchristos if grep 'NOT LEGAL' $@ > /dev/null; then \ 333a571abcSchristos grep 'NOT LEGAL' $@; \ 343a571abcSchristos fi 353a571abcSchristos 363a571abcSchristosCHK= dutch.check english.check french.check german.check \ 37*08d478e3Schristos ru_RU.KOI8-R.check spanish.check swedish.check 383a571abcSchristoscheck: ${CHK} 393a571abcSchristos${CHK}: ${CAT} 403a571abcSchristos @echo "... $@"; \ 413a571abcSchristos f=`basename $@ .check`; \ 423a571abcSchristos (echo "Unused message id's (this is okay):"; \ 433a571abcSchristos awk '{ \ 443a571abcSchristos while (++nline < $$1) \ 453a571abcSchristos printf "%03d\n", nline; \ 463a571abcSchristos }' < $$f.base; \ 473a571abcSchristos echo =========================; \ 483a571abcSchristos echo "MISSING ERROR MESSAGES (Please add!):"; \ 493a571abcSchristos awk '{print $$1}' < $$f.base | sort -u > __ck1; \ 503a571abcSchristos awk '{print $$1}' < english.base | sort -u > __ck2; \ 513a571abcSchristos comm -13 __ck1 __ck2; \ 523a571abcSchristos echo =========================; \ 533a571abcSchristos echo "Extra error messages (just delete them):"; \ 543a571abcSchristos comm -23 __ck1 __ck2; \ 553a571abcSchristos echo =========================; \ 563a571abcSchristos echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):"; \ 573a571abcSchristos for j in \ 583a571abcSchristos `sed '/^$$/d' < $$f.base | sort -u | \ 593a571abcSchristos awk '{print $$1}' | uniq -d`; do \ 603a571abcSchristos egrep $$j $$f.base; \ 613a571abcSchristos done; \ 623a571abcSchristos echo =========================; \ 633a571abcSchristos echo "Duplicate messages, both id and message (this is okay):"; \ 643a571abcSchristos sed '/^$$/d' < $$f.base | sort | uniq -c | \ 653a571abcSchristos awk '$$1 != 1 { print $$0 }' | sort -n; \ 663a571abcSchristos echo =========================; \ 673a571abcSchristos echo "Duplicate messages, just message (this is okay):"; \ 683a571abcSchristos sed '/^$$/d' < $$f | sort | uniq -c | \ 693a571abcSchristos awk '$$1 != 1 { print $$0 }' | sort -n; \ 703a571abcSchristos echo =========================) > $@ 713a571abcSchristos 723a571abcSchristosenglish.base: dump ${FILES} #Makefile 733a571abcSchristos ./dump ${FILES} |\ 743a571abcSchristos sed -e '/|/!d' \ 753a571abcSchristos -e 's/|/ "/' \ 763a571abcSchristos -e 's/^"//' \ 773a571abcSchristos -e 's/\\"/"/g' |\ 783a571abcSchristos sort -n > $@ 793a571abcSchristos 803a571abcSchristosdump: dump.c 813a571abcSchristos ${CC} -O -o dump dump.c 823a571abcSchristos 833a571abcSchristosclean: 843a571abcSchristos rm -f dump dump.o ${CAT} english.base *.check __ck1 __ck2 85