1# $OpenBSD: Makefile,v 1.5 2002/11/19 17:00:22 mickey Exp $ 2# @(#)Makefile 8.29 (Berkeley) 10/19/96 3 4CAT= dutch english french german polish ru_RU.KOI8-R spanish \ 5 swedish uk_UA.KOI8-U 6FILES= ../cl/*.c ../common/*.c ../ex/*.c ../tk/*.c ../vi/*.c 7 8all: dump ${CAT} 9 10${CAT}: english.base 11 @echo "... $@"; \ 12 rm -f $@; \ 13 sort -u $@.base | \ 14 awk '{ \ 15 if ($$1 == 1) { \ 16 print "\nMESSAGE NUMBER 1 IS NOT LEGAL"; \ 17 exit 1; \ 18 } \ 19 if (++nline > $$1) { \ 20 print "DUPLICATE MESSAGE NUMBER " $$1; \ 21 exit 1; \ 22 } \ 23 for (; nline < $$1; ++nline) \ 24 print ""; \ 25 print $0; \ 26 }' | \ 27 sed -e '1s/^/VI_MESSAGE_CATALOG/' \ 28 -e '/"/s/^[^"]*"//' \ 29 -e '1!s/"$$/X/' > $@; \ 30 chmod 444 $@; \ 31 if grep DUPLICATE $@ > /dev/null; then \ 32 grep DUPLICATE $@; \ 33 fi; \ 34 if grep 'NOT LEGAL' $@ > /dev/null; then \ 35 grep 'NOT LEGAL' $@; \ 36 fi 37 38CHK= dutch.check english.check french.check german.check \ 39 polish.check ru_RU.KOI8-R.check spanish.check swedish.check \ 40 uk_UA.KOI8-U 41check: ${CHK} 42${CHK}: ${CAT} 43 @echo "... $@"; \ 44 f=`basename $@ .check`; \ 45 (echo "Unused message id's (this is okay):"; \ 46 awk '{ \ 47 while (++nline < $$1) \ 48 printf "%03d\n", nline; \ 49 }' < $$f.base; \ 50 echo =========================; \ 51 echo "MISSING ERROR MESSAGES (Please add!):"; \ 52 awk '{print $$1}' < $$f.base | sort -u > __ck1; \ 53 awk '{print $$1}' < english.base | sort -u > __ck2; \ 54 comm -13 __ck1 __ck2; \ 55 echo =========================; \ 56 echo "Extra error messages (just delete them):"; \ 57 comm -23 __ck1 __ck2; \ 58 echo =========================; \ 59 echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):"; \ 60 for j in \ 61 `sed '/^$$/d' < $$f.base | sort -u | \ 62 awk '{print $$1}' | uniq -d`; do \ 63 egrep $$j $$f.base; \ 64 done; \ 65 echo =========================; \ 66 echo "Duplicate messages, both id and message (this is okay):"; \ 67 sed '/^$$/d' < $$f.base | sort | uniq -c | \ 68 awk '$$1 != 1 { print $$0 }' | sort -n; \ 69 echo =========================; \ 70 echo "Duplicate messages, just message (this is okay):"; \ 71 sed '/^$$/d' < $$f | sort | uniq -c | \ 72 awk '$$1 != 1 { print $$0 }' | sort -n; \ 73 echo =========================) > $@ 74 75english.base: dump ${FILES} #Makefile 76 ./dump ${FILES} |\ 77 sed -e '/|/!d' \ 78 -e 's/|/ "/' \ 79 -e 's/^"//' \ 80 -e 's/\\"/"/g' |\ 81 sort -n > $@ 82 83dump: dump.c 84 ${CC} -O -o dump dump.c 85 86clean: 87 rm -f dump dump.o ${CAT} english.base *.check __ck1 __ck2 88