1254225Speter# $Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $ 219304Speter 3254225SpeterCAT= dutch english french german polish ru_RU.KOI8-R spanish swedish \ 4254225Speter uk_UA.KOI8-U zh_CN.GB2312 5254225SpeterFILES= ../cl/*.c ../common/*.c ../ex/*.c ../vi/*.c 619304Speter 719304Speterall: dump ${CAT} 819304Speter 919304Speter${CAT}: english.base 1019304Speter @echo "... $@"; \ 1119304Speter rm -f $@; \ 1219304Speter sort -u $@.base | \ 1319304Speter awk '{ \ 1419304Speter if ($$1 == 1) { \ 1519304Speter print "\nMESSAGE NUMBER 1 IS NOT LEGAL"; \ 1619304Speter exit 1; \ 1719304Speter } \ 1819304Speter if (++nline > $$1) { \ 1919304Speter print "DUPLICATE MESSAGE NUMBER " $$1; \ 2019304Speter exit 1; \ 2119304Speter } \ 2219304Speter print $0; \ 2319304Speter }' | \ 24254225Speter sed -e '1s/^/$$set 1~$$quote "~/; 1y/~/\n/' | \ 25254225Speter gencat $@ /dev/stdin; \ 2619304Speter chmod 444 $@; \ 2719304Speter if grep DUPLICATE $@ > /dev/null; then \ 2819304Speter grep DUPLICATE $@; \ 2919304Speter fi; \ 3019304Speter if grep 'NOT LEGAL' $@ > /dev/null; then \ 3119304Speter grep 'NOT LEGAL' $@; \ 3219304Speter fi 3319304Speter 3419304SpeterCHK= dutch.check english.check french.check german.check \ 35254225Speter polish.check ru_RU.KOI8-R.check spanish.check swedish.check \ 36254225Speter uk_UA.KOI8-U.check zh_CN.GB2312.check 3719304Spetercheck: ${CHK} 3819304Speter${CHK}: ${CAT} 3919304Speter @echo "... $@"; \ 4019304Speter f=`basename $@ .check`; \ 4119304Speter (echo "Unused message id's (this is okay):"; \ 4219304Speter awk '{ \ 4319304Speter while (++nline < $$1) \ 4419304Speter printf "%03d\n", nline; \ 4519304Speter }' < $$f.base; \ 4619304Speter echo =========================; \ 4719304Speter echo "MISSING ERROR MESSAGES (Please add!):"; \ 4819304Speter awk '{print $$1}' < $$f.base | sort -u > __ck1; \ 4919304Speter awk '{print $$1}' < english.base | sort -u > __ck2; \ 5019304Speter comm -13 __ck1 __ck2; \ 5119304Speter echo =========================; \ 5219304Speter echo "Extra error messages (just delete them):"; \ 5319304Speter comm -23 __ck1 __ck2; \ 5419304Speter echo =========================; \ 5519304Speter echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):"; \ 5619304Speter for j in \ 5719304Speter `sed '/^$$/d' < $$f.base | sort -u | \ 5819304Speter awk '{print $$1}' | uniq -d`; do \ 5919304Speter egrep $$j $$f.base; \ 6019304Speter done; \ 6119304Speter echo =========================; \ 6219304Speter echo "Duplicate messages, both id and message (this is okay):"; \ 6319304Speter sed '/^$$/d' < $$f.base | sort | uniq -c | \ 6419304Speter awk '$$1 != 1 { print $$0 }' | sort -n; \ 6519304Speter echo =========================) > $@ 6619304Speter 6719304Speterenglish.base: dump ${FILES} #Makefile 6819304Speter ./dump ${FILES} |\ 6919304Speter sed -e '/|/!d' \ 7019304Speter -e 's/|/ "/' \ 71254225Speter -e 's/^"//' |\ 72254225Speter sort -nu > $@ 7319304Speter 7419304Speterdump: dump.c 7519304Speter ${CC} -O -o dump dump.c 7619304Speter 7719304Speterclean: 7819304Speter rm -f dump dump.o ${CAT} english.base *.check __ck1 __ck2 79